fix issue where user could not be shared across multiple sites

This commit is contained in:
sbwalker 2023-08-07 09:58:24 -04:00
parent b5649e2a6f
commit 96cf06fe8d
2 changed files with 18 additions and 25 deletions

View File

@ -140,34 +140,26 @@
{ {
if (_password == confirm) if (_password == confirm)
{ {
var user = await UserService.GetUserAsync(username, PageState.Site.SiteId); var user = new User();
if (user == null) user.SiteId = PageState.Site.SiteId;
user.Username = username;
user.Password = _password;
user.Email = email;
user.DisplayName = string.IsNullOrWhiteSpace(displayname) ? username : displayname;
user.PhotoFileId = null;
user = await UserService.AddUserAsync(user);
if (user != null)
{ {
user = new User(); await SettingService.UpdateUserSettingsAsync(settings, user.UserId);
user.SiteId = PageState.Site.SiteId; await logger.LogInformation("User Created {User}", user);
user.Username = username; NavigationManager.NavigateTo(NavigateUrl());
user.Password = _password;
user.Email = email;
user.DisplayName = string.IsNullOrWhiteSpace(displayname) ? username : displayname;
user.PhotoFileId = null;
user = await UserService.AddUserAsync(user);
if (user != null)
{
await SettingService.UpdateUserSettingsAsync(settings, user.UserId);
await logger.LogInformation("User Created {User}", user);
NavigationManager.NavigateTo(NavigateUrl());
}
else
{
await logger.LogError("Error Adding User {Username} {Email}", username, email);
AddModuleMessage(Localizer["Error.User.AddCheckPass"], MessageType.Error);
}
} }
else else
{ {
AddModuleMessage(Localizer["Message.Username.Exists"], MessageType.Warning); await logger.LogError("Error Adding User {Username} {Email}", username, email);
AddModuleMessage(Localizer["Error.User.AddCheckPass"], MessageType.Error);
} }
} }
else else

View File

@ -1,7 +1,6 @@
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore;
using Oqtane.Extensions;
using Oqtane.Models; using Oqtane.Models;
using Oqtane.Shared; using Oqtane.Shared;
@ -36,7 +35,9 @@ namespace Oqtane.Repository
} }
else else
{ {
int siteId = user.SiteId;
user = _db.User.AsNoTracking().First(item => item.Username == user.Username); user = _db.User.AsNoTracking().First(item => item.Username == user.Username);
user.SiteId = siteId;
} }
// add folder for user // add folder for user