teamsbot auth fixes

This commit is contained in:
ValueOn AG 2026-05-12 21:31:28 +02:00
parent 6380f14ebe
commit 3718745931
2 changed files with 23 additions and 17 deletions

View file

@ -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:

View file

@ -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,