teamsbot auth fixes
This commit is contained in:
parent
6380f14ebe
commit
3718745931
2 changed files with 23 additions and 17 deletions
|
|
@ -1274,11 +1274,14 @@ class ComponentObjects:
|
||||||
if getattr(permissions, "update", None) != AccessLevel.ALL:
|
if getattr(permissions, "update", None) != AccessLevel.ALL:
|
||||||
raise PermissionError("Setting global scope requires ALL permission")
|
raise PermissionError("Setting global scope requires ALL permission")
|
||||||
|
|
||||||
self.db.recordModify(FileFolder, folderId, {"scope": scope})
|
allFolderIds = self._collectChildFolderIds(folderId)
|
||||||
|
for fid in allFolderIds:
|
||||||
|
self.db.recordModify(FileFolder, fid, {"scope": scope})
|
||||||
|
|
||||||
filesUpdated = 0
|
filesUpdated = 0
|
||||||
if cascadeToFiles:
|
if cascadeToFiles:
|
||||||
items = self.db.getRecordset(FileItem, recordFilter={"folderId": folderId})
|
for fid in allFolderIds:
|
||||||
|
items = self.db.getRecordset(FileItem, recordFilter={"folderId": fid})
|
||||||
for item in items:
|
for item in items:
|
||||||
owner = item.get("sysCreatedBy") if isinstance(item, dict) else getattr(item, "sysCreatedBy", None)
|
owner = item.get("sysCreatedBy") if isinstance(item, dict) else getattr(item, "sysCreatedBy", None)
|
||||||
if owner == self.userId:
|
if owner == self.userId:
|
||||||
|
|
@ -1294,10 +1297,13 @@ class ComponentObjects:
|
||||||
raise FileNotFoundError(f"Folder {folderId} not found")
|
raise FileNotFoundError(f"Folder {folderId} not found")
|
||||||
self._requireFolderWriteAccess(folder, folderId, "update")
|
self._requireFolderWriteAccess(folder, folderId, "update")
|
||||||
|
|
||||||
self.db.recordModify(FileFolder, folderId, {"neutralize": neutralize})
|
allFolderIds = self._collectChildFolderIds(folderId)
|
||||||
|
for fid in allFolderIds:
|
||||||
|
self.db.recordModify(FileFolder, fid, {"neutralize": neutralize})
|
||||||
|
|
||||||
items = self.db.getRecordset(FileItem, recordFilter={"folderId": folderId})
|
|
||||||
filesUpdated = 0
|
filesUpdated = 0
|
||||||
|
for fid in allFolderIds:
|
||||||
|
items = self.db.getRecordset(FileItem, recordFilter={"folderId": fid})
|
||||||
for item in items:
|
for item in items:
|
||||||
owner = item.get("sysCreatedBy") if isinstance(item, dict) else getattr(item, "sysCreatedBy", None)
|
owner = item.get("sysCreatedBy") if isinstance(item, dict) else getattr(item, "sysCreatedBy", None)
|
||||||
if owner == self.userId:
|
if owner == self.userId:
|
||||||
|
|
|
||||||
|
|
@ -413,7 +413,7 @@ def patch_folder_scope(
|
||||||
scope = body.get("scope")
|
scope = body.get("scope")
|
||||||
if not scope:
|
if not scope:
|
||||||
raise HTTPException(status_code=400, detail="scope is required")
|
raise HTTPException(status_code=400, detail="scope is required")
|
||||||
cascadeToFiles = body.get("cascadeToFiles", False)
|
cascadeToFiles = body.get("cascadeChildren", body.get("cascadeToFiles", False))
|
||||||
managementInterface = interfaceDbManagement.getInterface(
|
managementInterface = interfaceDbManagement.getInterface(
|
||||||
currentUser,
|
currentUser,
|
||||||
mandateId=str(context.mandateId) if context.mandateId else None,
|
mandateId=str(context.mandateId) if context.mandateId else None,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue