From 96cf06fe8d5130a0f79c70af24c07216a28445d3 Mon Sep 17 00:00:00 2001 From: sbwalker Date: Mon, 7 Aug 2023 09:58:24 -0400 Subject: [PATCH] fix issue where user could not be shared across multiple sites --- Oqtane.Client/Modules/Admin/Users/Add.razor | 40 +++++++++------------ Oqtane.Server/Repository/UserRepository.cs | 3 +- 2 files changed, 18 insertions(+), 25 deletions(-) diff --git a/Oqtane.Client/Modules/Admin/Users/Add.razor b/Oqtane.Client/Modules/Admin/Users/Add.razor index 54c396ee..f36e78b0 100644 --- a/Oqtane.Client/Modules/Admin/Users/Add.razor +++ b/Oqtane.Client/Modules/Admin/Users/Add.razor @@ -140,34 +140,26 @@ { if (_password == confirm) { - var user = await UserService.GetUserAsync(username, PageState.Site.SiteId); - if (user == null) + var user = new User(); + 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(); - 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) - { - 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); - } + await SettingService.UpdateUserSettingsAsync(settings, user.UserId); + await logger.LogInformation("User Created {User}", user); + NavigationManager.NavigateTo(NavigateUrl()); } 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 diff --git a/Oqtane.Server/Repository/UserRepository.cs b/Oqtane.Server/Repository/UserRepository.cs index 2944c218..f5136c74 100644 --- a/Oqtane.Server/Repository/UserRepository.cs +++ b/Oqtane.Server/Repository/UserRepository.cs @@ -1,7 +1,6 @@ using System.Collections.Generic; using System.Linq; using Microsoft.EntityFrameworkCore; -using Oqtane.Extensions; using Oqtane.Models; using Oqtane.Shared; @@ -36,7 +35,9 @@ namespace Oqtane.Repository } else { + int siteId = user.SiteId; user = _db.User.AsNoTracking().First(item => item.Username == user.Username); + user.SiteId = siteId; } // add folder for user