aboutsummaryrefslogtreecommitdiff
path: root/src/fields/util.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/fields/util.ts')
-rw-r--r--src/fields/util.ts12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/fields/util.ts b/src/fields/util.ts
index 4dcbf1fbe..034229319 100644
--- a/src/fields/util.ts
+++ b/src/fields/util.ts
@@ -243,19 +243,19 @@ export function distributeAcls(key: string, acl: SharingPermissions, target: Doc
const dataDoc = target[DocData];
const curVal = ReverseHierarchyMap.get(StrCast(dataDoc[key]))?.level ?? 0;
const aclVal = ReverseHierarchyMap.get(acl)?.level ?? 0;
- if (dataDoc && (allowUpgrade || !dataDoc[key] || curVal > aclVal)) {
+ if (dataDoc && (allowUpgrade !== false|| !dataDoc[key] || curVal > aclVal)) {
// propagate ACLs to links, children, and annotations
- LinkManager.Links(dataDoc).forEach(link => distributeAcls(key, acl, link, visited, allowUpgrade));
+ LinkManager.Links(dataDoc).forEach(link => distributeAcls(key, acl, link, visited, allowUpgrade? true: false));
DocListCast(dataDoc[Doc.LayoutFieldKey(dataDoc)]).forEach(d => {
- distributeAcls(key, acl, d, visited, allowUpgrade);
- d !== d[DocData] && distributeAcls(key, acl, d[DocData], visited, allowUpgrade);
+ distributeAcls(key, acl, d, visited, allowUpgrade ? true: false);
+ d !== d[DocData] && distributeAcls(key, acl, d[DocData], visited, allowUpgrade ? true: false);
});
DocListCast(dataDoc[Doc.LayoutFieldKey(dataDoc) + '_annotations']).forEach(d => {
- distributeAcls(key, acl, d, visited, allowUpgrade);
- d !== d[DocData] && distributeAcls(key, acl, d[DocData], visited, allowUpgrade);
+ distributeAcls(key, acl, d, visited, allowUpgrade? true: false);
+ d !== d[DocData] && distributeAcls(key, acl, d[DocData], visited, allowUpgrade? true: false);
});
if (GetEffectiveAcl(dataDoc) === AclAdmin) {