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();