diff --git a/Oqtane.Client/Modules/Admin/Users/Edit.razor b/Oqtane.Client/Modules/Admin/Users/Edit.razor index 353a474f..cc497086 100644 --- a/Oqtane.Client/Modules/Admin/Users/Edit.razor +++ b/Oqtane.Client/Modules/Admin/Users/Edit.razor @@ -159,7 +159,7 @@ } @if (UserSecurity.IsAuthorized(PageState.User, RoleNames.Host) && _isdeleted == "True") { - + }

diff --git a/Oqtane.Server/Repository/RoleRepository.cs b/Oqtane.Server/Repository/RoleRepository.cs index e9d1590d..3d16eb35 100644 --- a/Oqtane.Server/Repository/RoleRepository.cs +++ b/Oqtane.Server/Repository/RoleRepository.cs @@ -74,18 +74,19 @@ namespace Oqtane.Repository { using var db = _dbContextFactory.CreateDbContext(); - Role role = db.Role.Find(roleId); - - // remove permissions for this role - var permissions = db.Permission.Where(item => item.SiteId == role.SiteId).ToList(); - foreach (var permission in permissions) + // remove userroles for role + foreach (var userrole in db.UserRole.Where(item => item.RoleId == roleId)) { - if (permission.RoleId == roleId) - { - db.Permission.Remove(permission); - } + db.UserRole.Remove(userrole); } + // remove permissions for role + foreach (var permission in db.Permission.Where(item => item.RoleId == roleId)) + { + db.Permission.Remove(permission); + } + + Role role = db.Role.Find(roleId); db.Role.Remove(role); db.SaveChanges(); } diff --git a/Oqtane.Server/Repository/UserRepository.cs b/Oqtane.Server/Repository/UserRepository.cs index 3c0a40ad..4858e7c3 100644 --- a/Oqtane.Server/Repository/UserRepository.cs +++ b/Oqtane.Server/Repository/UserRepository.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using Microsoft.EntityFrameworkCore; using Oqtane.Models; +using Oqtane.Modules.Admin.Users; using Oqtane.Shared; namespace Oqtane.Repository @@ -131,6 +132,13 @@ namespace Oqtane.Repository public void DeleteUser(int userId) { using var db = _dbContextFactory.CreateDbContext(); + + // remove permissions for user + foreach (var permission in db.Permission.Where(item => item.UserId == userId)) + { + db.Permission.Remove(permission); + } + var user = db.User.Find(userId); db.User.Remove(user); db.SaveChanges();