Merge pull request #2961 from leigh-pointer/UnPubPage
Fixes #2960 - cant unpublish page.
This commit is contained in:
		| @ -545,13 +545,29 @@ | ||||
| 		if (UserSecurity.IsAuthorized(PageState.User, PermissionNames.Edit, 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)); | ||||
|             } | ||||
|             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)); | ||||
|                 case "publish": | ||||
|                     if (!permissions.Any(item => item.PermissionName == PermissionNames.View && item.RoleName == RoleNames.Everyone)) | ||||
|                     { | ||||
|                         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.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; | ||||
| 			await PageService.UpdatePageAsync(PageState.Page); | ||||
|  | ||||
		Reference in New Issue
	
	Block a user
	 Shaun Walker
					Shaun Walker