public override void OnResponse(ItemQueryResponse response, PathIdentifier pathIdentifier) { var leoUploadPath = new PathIdentifier(pathIdentifier as FolderIdentifier, LEOUploadUtility.LEO_UPLOAD_PATH_KEY); if (pathIdentifier.IsChildOf(leoUploadPath) && response.AllowedOperations != null) { if (!LEOUploadUtility.IsUserLeo(connection.UserAccessIdentifiers)) { response.AllowedOperations = response.AllowedOperations.Where(a => !(a.BatchOperation is UploadRequest)); } } }
public override void OverrideAllowedOperations(FileModel fileModel, List <AllowedOperation> allowed, PathIdentifier virtualPathIdentifier) { var isUserLeo = LEOUploadUtility.IsUserLeo(connection.UserAccessIdentifiers); var leoUploadFolder = new PathIdentifier(fileModel.Identifier as FolderIdentifier, LEOUploadUtility.LEO_UPLOAD_PATH_KEY); if (virtualPathIdentifier.Equals(leoUploadFolder) || virtualPathIdentifier.IsChildOf(leoUploadFolder)) { allowed.Clear(); allowed.Add(AllowedOperation.GetAllowedOperationDownload(fileModel.Identifier, false)); allowed.Add(AllowedOperation.GetAllowedOperationMove(fileModel.Identifier)); if (isUserLeo) { allowed.Add(AllowedOperation.GetAllowedOperationRename(fileModel.Identifier)); } } }
protected override List <AllowedOperation> GetPageAllowedOperations(PathIdentifier identifier) { if (IsLEOUser && identifier != null && identifier.IsChildOf(OfficerPathIdentifier)) { var ops = new List <AllowedOperation> { AllowedOperation.GetAllowedOperationMove(identifier), AllowedOperation.GetAllowedOperationNewPath(identifier) }; if (ManagerConfiguration.IsFeatureEnabledUpload && state.Folder.PrivilegeCheck("file:create", connection, throwOnFail: false)) { ops.Add(AllowedOperation.GetAllowedOperationUpload(identifier)); } return(ops); } return(null); }
private bool IsAllowed(PathIdentifier pathIdentifier, bool includeAncestors = true) { return((OfficerPathIdentifier.IsChildOf(pathIdentifier) && includeAncestors) || pathIdentifier.Equals(OfficerPathIdentifier) || pathIdentifier.IsChildOf(OfficerPathIdentifier)); }