mirror of
https://github.com/oqtane/oqtane.framework.git
synced 2025-05-20 03:24:24 +00:00
Fixes #2960 - cant unpublish page.
Added the reverse code to change a published page to unpublished.
This commit is contained in:
parent
69f7367a18
commit
95cd6ea48e
@ -545,13 +545,29 @@
|
|||||||
if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.PermissionList))
|
if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, PageState.Page.PermissionList))
|
||||||
{
|
{
|
||||||
var permissions = PageState.Page.PermissionList;
|
var permissions = PageState.Page.PermissionList;
|
||||||
if (!permissions.Any(item => item.PermissionName == PermissionNames.View && item.RoleName == RoleNames.Everyone))
|
switch (action)
|
||||||
{
|
{
|
||||||
permissions.Add(new Permission(PageState.Site.SiteId, EntityNames.Page, PageState.Page.PageId, PermissionNames.View, RoleNames.Everyone, null, true));
|
case "publish":
|
||||||
}
|
if (!permissions.Any(item => item.PermissionName == PermissionNames.View && item.RoleName == RoleNames.Everyone))
|
||||||
if (!permissions.Any(item => item.PermissionName == PermissionNames.View && item.RoleName == RoleNames.Registered))
|
{
|
||||||
{
|
permissions.Add(new Permission(PageState.Site.SiteId, 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.Registered, null, true));
|
}
|
||||||
|
if (!permissions.Any(item => item.PermissionName == PermissionNames.View && item.RoleName == RoleNames.Registered))
|
||||||
|
{
|
||||||
|
permissions.Add(new Permission(PageState.Site.SiteId, EntityNames.Page, PageState.Page.PageId, PermissionNames.View, RoleNames.Registered, null, true));
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case "unpublish":
|
||||||
|
if (permissions.Any(item => item.PermissionName == PermissionNames.View && item.RoleName == RoleNames.Everyone))
|
||||||
|
{
|
||||||
|
permissions.RemoveAll(item => item.PermissionName == PermissionNames.View && item.RoleName == RoleNames.Everyone);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (permissions.Any(item => item.PermissionName == PermissionNames.View && item.RoleName == RoleNames.Registered))
|
||||||
|
{
|
||||||
|
permissions.RemoveAll(item => item.PermissionName == PermissionNames.View && item.RoleName == RoleNames.Registered);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
PageState.Page.PermissionList = permissions;
|
PageState.Page.PermissionList = permissions;
|
||||||
await PageService.UpdatePageAsync(PageState.Page);
|
await PageService.UpdatePageAsync(PageState.Page);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user