initialize SiteId in Permission constructor
This commit is contained in:
		@ -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));
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@ -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);
 | 
			
		||||
 | 
			
		||||
@ -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);
 | 
			
		||||
 | 
			
		||||
@ -1,6 +1,3 @@
 | 
			
		||||
using System;
 | 
			
		||||
using Oqtane.Shared;
 | 
			
		||||
 | 
			
		||||
namespace Oqtane.Models
 | 
			
		||||
{
 | 
			
		||||
    /// <summary>
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user