Changing scope for looking up all roles to after authorization check in admin

This commit is contained in:
Nicholas Mayne
2015-06-02 13:47:23 +01:00
parent 7415d6d5cc
commit bb13163ac3

View File

@@ -41,15 +41,15 @@ namespace Orchard.ContentPermissions.Drivers {
protected override DriverResult Editor(ContentPermissionsPart part, dynamic shapeHelper) {
return ContentShape("Parts_ContentPermissions_Edit", () => {
var settings = part.Settings.TryGetModel<ContentPermissionsPartSettings>();
var allRoles = _roleService.GetRoles().Select(x => x.Name).OrderBy(x => x).ToList();
// ensure the current user is allowed to define permissions
if (!_authorizer.Authorize(Permissions.GrantPermission)) {
return null;
}
var settings = part.Settings.TryGetModel<ContentPermissionsPartSettings>();
var allRoles = _roleService.GetRoles().Select(x => x.Name).OrderBy(x => x).ToList();
if(settings == null) {
settings = new ContentPermissionsPartSettings {
View = ContentPermissionsPartViewModel.SerializePermissions(allRoles.Select(x => new RoleEntry { Role = x, Checked = _authorizationService.TryCheckAccess(Core.Contents.Permissions.ViewContent, UserSimulation.Create(x), null) }).ToList()),