diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/fields/Doc.ts | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/fields/Doc.ts b/src/fields/Doc.ts index de4c1e5f9..c9a5ee1bc 100644 --- a/src/fields/Doc.ts +++ b/src/fields/Doc.ts @@ -251,7 +251,9 @@ export class Doc extends RefField { DocServer.GetRefField(this[Id], true); } }; - if (sameAuthor || fKey.startsWith("acl") || DocServer.getFieldWriteMode(fKey) !== DocServer.WriteMode.Playground) { + const effectiveAcl = GetEffectiveAcl(fKey); + const writeMode = DocServer.getFieldWriteMode(fKey as string); + if (sameAuthor || effectiveAcl === AclEdit || effectiveAcl === AclAdmin || fKey.startsWith("acl") || writeMode !== DocServer.WriteMode.Playground) { delete this[CachedUpdates][fKey]; await fn(); } else { |