public static bool CanEdit(IUserPermissionContext permissionContext, IEntryWithStatus entry) { ParamIs.NotNull(() => entry); if (!permissionContext.HasPermission(PermissionToken.ManageDatabase)) { return(false); } if (permissionContext.HasPermission(PermissionToken.LockEntries)) { return(true); } if (permissionContext.HasPermission(PermissionToken.ApproveEntries)) { return(trustedStatusPermissions.Contains(entry.Status)); } return(normalStatusPermissions.Contains(entry.Status)); }
public static void VerifyEntryEdit(this IUserPermissionContext permissionContext, IEntryWithStatus entry) { EntryPermissionManager.VerifyEdit(permissionContext, entry); }
public static void VerifyEdit(IUserPermissionContext permissionContext, IEntryWithStatus entry) { VerifyAccess(permissionContext, entry, CanEdit); }
public static bool CanEdit(IEntryWithStatus entry) { ParamIs.NotNull(() => entry); return(EntryPermissionManager.CanEdit(Manager, entry)); }
public static bool CanEdit(IEntryWithStatus entry) { ParamIs.NotNull(() => entry); return EntryPermissionManager.CanEdit(Manager, entry); }
protected void VerifyEntryEdit(IEntryWithStatus entry) { EntryPermissionManager.VerifyEdit(PermissionContext, entry); }
/// <summary> /// Tests whether the user can edit a specific entry. /// The permission depends on both the user's global permissions and entry status. /// </summary> /// <param name="permissionContext">User permission context. Cannot be null.</param> /// <param name="entry">Entry to be checked. Cannot be null.</param> /// <returns>True if the user can edit the entry, otherwise false.</returns> public static bool CanEdit(IUserPermissionContext permissionContext, IEntryWithStatus entry) { ParamIs.NotNull(() => entry); return(AllowedEntryStatuses(permissionContext, entry).Contains(entry.Status)); }