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);
|
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)
|
public Task<bool> CanReadAsync<T>(FileEntry<T> entry)
|
||||||
{
|
{
|
||||||
@ -169,6 +174,11 @@ public class FileSecurity : IFileSecurity
|
|||||||
{
|
{
|
||||||
return CanDeleteAsync(entry, _authContext.CurrentAccount.ID);
|
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)
|
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))
|
if (e.RootFolderType == FolderType.VirtualRooms && _fileSecurityCommon.IsAdministrator(userId))
|
||||||
{
|
{
|
||||||
|
// administrator in VirtualRooms has all right
|
||||||
result.Add(e);
|
result.Add(e);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -602,27 +613,31 @@ public class FileSecurity : IFileSecurity
|
|||||||
{
|
{
|
||||||
result.Add(e);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
result.Add(e);
|
||||||
}
|
}
|
||||||
@ -1110,6 +1125,7 @@ public class FileSecurity : IFileSecurity
|
|||||||
Create,
|
Create,
|
||||||
Edit,
|
Edit,
|
||||||
Delete,
|
Delete,
|
||||||
CustomFilter
|
CustomFilter,
|
||||||
|
RoomEdit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user