Files: added room manager share, added room edit security
This commit is contained in:
parent
080dfd2bd8
commit
67431b1cfb
@ -129,6 +129,11 @@ public class FileSecurity : IFileSecurity
|
||||
{
|
||||
return CanAsync(entry, userId, FilesSecurityActions.Delete);
|
||||
}
|
||||
|
||||
public Task<bool> CanEditRoomAsync<T>(FileEntry<T> entry, Guid userId)
|
||||
{
|
||||
return CanAsync(entry, userId, FilesSecurityActions.RoomEdit);
|
||||
}
|
||||
|
||||
public Task<bool> CanReadAsync<T>(FileEntry<T> entry)
|
||||
{
|
||||
@ -169,6 +174,11 @@ public class FileSecurity : IFileSecurity
|
||||
{
|
||||
return CanDeleteAsync(entry, _authContext.CurrentAccount.ID);
|
||||
}
|
||||
|
||||
public Task<bool> CanEditRoomAsync<T>(FileEntry<T> entry)
|
||||
{
|
||||
return CanEditRoomAsync(entry, _authContext.CurrentAccount.ID);
|
||||
}
|
||||
|
||||
public Task<IEnumerable<Guid>> WhoCanReadAsync<T>(FileEntry<T> entry)
|
||||
{
|
||||
@ -545,6 +555,7 @@ public class FileSecurity : IFileSecurity
|
||||
|
||||
if (e.RootFolderType == FolderType.VirtualRooms && _fileSecurityCommon.IsAdministrator(userId))
|
||||
{
|
||||
// administrator in VirtualRooms has all right
|
||||
result.Add(e);
|
||||
continue;
|
||||
}
|
||||
@ -602,27 +613,31 @@ public class FileSecurity : IFileSecurity
|
||||
{
|
||||
result.Add(e);
|
||||
}
|
||||
else if (action == FilesSecurityActions.Comment && (e.Access == FileShare.Comment || e.Access == FileShare.Review || e.Access == FileShare.CustomFilter || e.Access == FileShare.ReadWrite))
|
||||
else if (action == FilesSecurityActions.Comment && (e.Access == FileShare.Comment || e.Access == FileShare.Review || e.Access == FileShare.CustomFilter || e.Access == FileShare.ReadWrite || e.Access == FileShare.RoomManager))
|
||||
{
|
||||
result.Add(e);
|
||||
}
|
||||
else if (action == FilesSecurityActions.FillForms && (e.Access == FileShare.FillForms || e.Access == FileShare.Review || e.Access == FileShare.ReadWrite))
|
||||
else if (action == FilesSecurityActions.FillForms && (e.Access == FileShare.FillForms || e.Access == FileShare.Review || e.Access == FileShare.ReadWrite || e.Access == FileShare.RoomManager))
|
||||
{
|
||||
result.Add(e);
|
||||
}
|
||||
else if (action == FilesSecurityActions.Review && (e.Access == FileShare.Review || e.Access == FileShare.ReadWrite))
|
||||
else if (action == FilesSecurityActions.Review && (e.Access == FileShare.Review || e.Access == FileShare.ReadWrite || e.Access == FileShare.RoomManager))
|
||||
{
|
||||
result.Add(e);
|
||||
}
|
||||
else if (action == FilesSecurityActions.CustomFilter && (e.Access == FileShare.CustomFilter || e.Access == FileShare.ReadWrite))
|
||||
else if (action == FilesSecurityActions.CustomFilter && (e.Access == FileShare.CustomFilter || e.Access == FileShare.ReadWrite || e.Access == FileShare.RoomManager))
|
||||
{
|
||||
result.Add(e);
|
||||
}
|
||||
else if (action == FilesSecurityActions.Edit && e.Access == FileShare.ReadWrite)
|
||||
else if (action == FilesSecurityActions.Edit && (e.Access == FileShare.ReadWrite || e.Access == FileShare.RoomManager))
|
||||
{
|
||||
result.Add(e);
|
||||
}
|
||||
else if (action == FilesSecurityActions.Create && e.Access == FileShare.ReadWrite)
|
||||
else if (action == FilesSecurityActions.RoomEdit && (e.Access == FileShare.RoomManager))
|
||||
{
|
||||
result.Add(e);
|
||||
}
|
||||
else if (action == FilesSecurityActions.Create && (e.Access == FileShare.ReadWrite || e.Access == FileShare.RoomManager))
|
||||
{
|
||||
result.Add(e);
|
||||
}
|
||||
@ -1110,6 +1125,7 @@ public class FileSecurity : IFileSecurity
|
||||
Create,
|
||||
Edit,
|
||||
Delete,
|
||||
CustomFilter
|
||||
CustomFilter,
|
||||
RoomEdit
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user