Merge pull request #2650 from sbwalker/dev

initialize SiteId in Permission constructor
This commit is contained in:
Shaun Walker 2023-03-08 08:42:13 -05:00 committed by GitHub
commit 7b7811f8ad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 18 additions and 20 deletions

View File

@ -164,18 +164,18 @@
{ {
foreach (var role in segments[2].Split(';')) 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 // ensure admin access
if (!_permissions.Any(item => item.EntityName == segments[0] && item.PermissionName == segments[1] && item.Role.Name == RoleNames.Admin)) 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 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) 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 else
@ -262,7 +262,7 @@
} }
if (value != null) 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) && if (!_permissions.Any(item => item.EntityName == GetEntityName(permissionname) && item.PermissionName == GetPermissionName(permissionname) &&
(item.Role.Name == RoleNames.Admin || item.Role.Name == RoleNames.Host))) (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));
} }
} }
} }

View File

@ -139,11 +139,11 @@ namespace Oqtane.Themes.Controls
var permissions = pagemodule.Module.PermissionList; var permissions = pagemodule.Module.PermissionList;
if (!permissions.Any(item => item.PermissionName == PermissionNames.View && item.Role.Name == RoleNames.Everyone)) 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)) 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; pagemodule.Module.PermissionList = permissions;
await ModuleService.UpdateModuleAsync(pagemodule.Module); await ModuleService.UpdateModuleAsync(pagemodule.Module);

View File

@ -539,11 +539,11 @@
var permissions = PageState.Page.PermissionList; var permissions = PageState.Page.PermissionList;
if (!permissions.Any(item => item.PermissionName == PermissionNames.View && item.Role.Name == RoleNames.Everyone)) 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)) 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; PageState.Page.PermissionList = permissions;
await PageService.UpdatePageAsync(PageState.Page); await PageService.UpdatePageAsync(PageState.Page);

View File

@ -1,6 +1,3 @@
using System;
using Oqtane.Shared;
namespace Oqtane.Models namespace Oqtane.Models
{ {
/// <summary> /// <summary>
@ -67,26 +64,27 @@ namespace Oqtane.Models
public Permission(string permissionName, string roleName, bool isAuthorized) 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) 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; EntityName = entityName;
EntityId = entityId; EntityId = entityId;
PermissionName = permissionName; PermissionName = permissionName;