From 63df2742db9e35f8eb68cb8171c02ed75c7f47b1 Mon Sep 17 00:00:00 2001 From: Shaun Walker Date: Wed, 8 Mar 2023 08:43:45 -0500 Subject: [PATCH] initialize SiteId in Permission constructor --- .../Modules/Controls/PermissionGrid.razor | 12 ++++++------ .../Controls/Container/ModuleActionsBase.cs | 4 ++-- .../Themes/Controls/Theme/ControlPanel.razor | 4 ++-- Oqtane.Shared/Models/Permission.cs | 18 ++++++++---------- 4 files changed, 18 insertions(+), 20 deletions(-) diff --git a/Oqtane.Client/Modules/Controls/PermissionGrid.razor b/Oqtane.Client/Modules/Controls/PermissionGrid.razor index f1f6b904..ca9301ca 100644 --- a/Oqtane.Client/Modules/Controls/PermissionGrid.razor +++ b/Oqtane.Client/Modules/Controls/PermissionGrid.razor @@ -164,18 +164,18 @@ { foreach (var role in segments[2].Split(';')) { - _permissions.Add(new Permission(segments[0], segments[1], role, null, true)); + _permissions.Add(new Permission(ModuleState.SiteId, segments[0], segments[1], role, null, true)); } // ensure admin access if (!_permissions.Any(item => item.EntityName == segments[0] && item.PermissionName == segments[1] && item.Role.Name == RoleNames.Admin)) { - _permissions.Add(new Permission(segments[0], segments[1], RoleNames.Admin, null, true)); + _permissions.Add(new Permission(ModuleState.SiteId, segments[0], segments[1], RoleNames.Admin, null, true)); } } } else { - _permissions.Add(new Permission(EntityName, permissionname, RoleNames.Admin, null, true)); + _permissions.Add(new Permission(ModuleState.SiteId, EntityName, permissionname, RoleNames.Admin, null, true)); } } } @@ -250,7 +250,7 @@ } if (value != null) { - _permissions.Add(new Permission(GetEntityName(permissionName), GetPermissionName(permissionName), roleName, null, value.Value)); + _permissions.Add(new Permission(ModuleState.SiteId, GetEntityName(permissionName), GetPermissionName(permissionName), roleName, null, value.Value)); } } else @@ -262,7 +262,7 @@ } if (value != null) { - _permissions.Add(new Permission(GetEntityName(permissionName), GetPermissionName(permissionName), null, userId, value.Value)); + _permissions.Add(new Permission(ModuleState.SiteId, GetEntityName(permissionName), GetPermissionName(permissionName), null, userId, value.Value)); } } } @@ -327,7 +327,7 @@ if (!_permissions.Any(item => item.EntityName == GetEntityName(permissionname) && item.PermissionName == GetPermissionName(permissionname) && (item.Role.Name == RoleNames.Admin || item.Role.Name == RoleNames.Host))) { - _permissions.Add(new Permission(GetEntityName(permissionname), GetPermissionName(permissionname), RoleNames.Admin, null, true)); + _permissions.Add(new Permission(ModuleState.SiteId, GetEntityName(permissionname), GetPermissionName(permissionname), RoleNames.Admin, null, true)); } } } diff --git a/Oqtane.Client/Themes/Controls/Container/ModuleActionsBase.cs b/Oqtane.Client/Themes/Controls/Container/ModuleActionsBase.cs index eba511de..1a8573c6 100644 --- a/Oqtane.Client/Themes/Controls/Container/ModuleActionsBase.cs +++ b/Oqtane.Client/Themes/Controls/Container/ModuleActionsBase.cs @@ -139,11 +139,11 @@ namespace Oqtane.Themes.Controls var permissions = pagemodule.Module.PermissionList; if (!permissions.Any(item => item.PermissionName == PermissionNames.View && item.Role.Name == RoleNames.Everyone)) { - permissions.Add(new Permission(EntityNames.Page, pagemodule.PageId, PermissionNames.View, RoleNames.Everyone, null, true)); + permissions.Add(new Permission(ModuleState.SiteId, EntityNames.Page, pagemodule.PageId, PermissionNames.View, RoleNames.Everyone, null, true)); } if (!permissions.Any(item => item.PermissionName == PermissionNames.View && item.Role.Name == RoleNames.Registered)) { - permissions.Add(new Permission(EntityNames.Page, pagemodule.PageId, PermissionNames.View, RoleNames.Registered, null, true)); + permissions.Add(new Permission(ModuleState.SiteId, EntityNames.Page, pagemodule.PageId, PermissionNames.View, RoleNames.Registered, null, true)); } pagemodule.Module.PermissionList = permissions; await ModuleService.UpdateModuleAsync(pagemodule.Module); diff --git a/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor b/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor index bbfa21b2..e2e269da 100644 --- a/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor +++ b/Oqtane.Client/Themes/Controls/Theme/ControlPanel.razor @@ -539,11 +539,11 @@ var permissions = PageState.Page.PermissionList; if (!permissions.Any(item => item.PermissionName == PermissionNames.View && item.Role.Name == RoleNames.Everyone)) { - permissions.Add(new Permission(EntityNames.Page, PageState.Page.PageId, PermissionNames.View, RoleNames.Everyone, null, true)); + permissions.Add(new Permission(PageState.Site.SiteId, EntityNames.Page, PageState.Page.PageId, PermissionNames.View, RoleNames.Everyone, null, true)); } if (!permissions.Any(item => item.PermissionName == PermissionNames.View && item.Role.Name == RoleNames.Registered)) { - permissions.Add(new Permission(EntityNames.Page, PageState.Page.PageId, PermissionNames.View, RoleNames.Registered, null, true)); + permissions.Add(new Permission(PageState.Site.SiteId, EntityNames.Page, PageState.Page.PageId, PermissionNames.View, RoleNames.Registered, null, true)); } PageState.Page.PermissionList = permissions; await PageService.UpdatePageAsync(PageState.Page); diff --git a/Oqtane.Shared/Models/Permission.cs b/Oqtane.Shared/Models/Permission.cs index f53e699c..bdaf49a0 100644 --- a/Oqtane.Shared/Models/Permission.cs +++ b/Oqtane.Shared/Models/Permission.cs @@ -1,6 +1,3 @@ -using System; -using Oqtane.Shared; - namespace Oqtane.Models { /// @@ -67,26 +64,27 @@ namespace Oqtane.Models public Permission(string permissionName, string roleName, bool isAuthorized) { - Initialize("", -1, permissionName, roleName, null, isAuthorized); + Initialize(-1, "", -1, permissionName, roleName, null, isAuthorized); } public Permission(string permissionName, int userId, bool isAuthorized) { - Initialize("", -1, permissionName, "", userId, isAuthorized); + Initialize(-1, "", -1, permissionName, "", userId, isAuthorized); } - public Permission(string entityName, string permissionName, string roleName, int? userId, bool isAuthorized) + public Permission(int siteId, string entityName, string permissionName, string roleName, int? userId, bool isAuthorized) { - Initialize(entityName, -1, permissionName, roleName, userId, isAuthorized); + Initialize(siteId, entityName, -1, permissionName, roleName, userId, isAuthorized); } - public Permission(string entityName, int entityId, string permissionName, string roleName, int? userId, bool isAuthorized) + public Permission(int siteId, string entityName, int entityId, string permissionName, string roleName, int? userId, bool isAuthorized) { - Initialize(entityName, entityId, permissionName, roleName, userId, isAuthorized); + Initialize(siteId, entityName, entityId, permissionName, roleName, userId, isAuthorized); } - private void Initialize(string entityName, int entityId, string permissionName, string roleName, int? userId, bool isAuthorized) + private void Initialize(int siteId, string entityName, int entityId, string permissionName, string roleName, int? userId, bool isAuthorized) { + SiteId = siteId; EntityName = entityName; EntityId = entityId; PermissionName = permissionName;