Fix #2614 - ability to add module to page

This commit is contained in:
Shaun Walker 2023-03-01 10:05:14 -05:00
parent 8605e3ca5a
commit 465b7850b7

View File

@ -396,16 +396,15 @@
if (Visibility == "view")
{
// set module view permissions to page view permissions
permissions = PageState.Page.Permissions.Where(item => item.PermissionName == PermissionNames.View).ToList();
permissions = SetPermissions(permissions, module.SiteId, PermissionNames.View, PermissionNames.View);
}
else
{
// set module view permissions to page edit permissions
permissions = PageState.Page.Permissions.Where(item => item.PermissionName == PermissionNames.Edit).ToList();
permissions = SetPermissions(permissions, module.SiteId, PermissionNames.View, PermissionNames.Edit);
}
// set entity name and permission name
permissions.ForEach(item => item.EntityName = EntityNames.Module);
permissions.ForEach(item => item.PermissionName = PermissionNames.View);
// set module edit permissions to page edit permissions
permissions = SetPermissions(permissions, module.SiteId, PermissionNames.Edit, PermissionNames.Edit);
module.Permissions = permissions;
module = await ModuleService.AddModuleAsync(module);
@ -457,6 +456,15 @@
}
}
private List<Permission> SetPermissions(List<Permission> permissions, int siteId, string modulePermission, string pagePermission)
{
foreach (var permission in PageState.Page.Permissions.Where(item => item.PermissionName == pagePermission))
{
permissions.Add(new Permission { SiteId = siteId, EntityName = EntityNames.Module, PermissionName = modulePermission, RoleId = permission.RoleId, UserId = permission.UserId, IsAuthorized = permission.IsAuthorized });
}
return permissions;
}
private async Task ToggleEditMode(bool EditMode)
{
if (_showEditMode)