aboutsummaryrefslogtreecommitdiff
path: root/src/fields/Doc.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/fields/Doc.ts')
-rw-r--r--src/fields/Doc.ts14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/fields/Doc.ts b/src/fields/Doc.ts
index ce5b08440..bc50d70de 100644
--- a/src/fields/Doc.ts
+++ b/src/fields/Doc.ts
@@ -495,12 +495,10 @@ export namespace Doc {
Doc.SetLayout(alias, Doc.MakeAlias(layout));
}
alias.aliasOf = doc;
- if (doc !== Doc.GetProto(doc)) {
- alias.title = ComputedField.MakeFunction(`renameAlias(this, ${Doc.GetProto(doc).aliasNumber = NumCast(Doc.GetProto(doc).aliasNumber) + 1})`);
- }
+ alias.title = ComputedField.MakeFunction(`renameAlias(this, ${Doc.GetProto(doc).aliasNumber = NumCast(Doc.GetProto(doc).aliasNumber) + 1})`);
alias.author = Doc.CurrentUserEmail;
- Doc.AddDocToList(doc[DataSym], "aliases", alias);
+ Doc.AddDocToList(Doc.GetProto(doc)[DataSym], "aliases", alias);
return alias;
}
@@ -761,6 +759,13 @@ export namespace Doc {
}
});
copy.author = Doc.CurrentUserEmail;
+ if (copyProto) {
+ Doc.GetProto(copy).context = undefined;
+ Doc.GetProto(copy).aliases = new List<Doc>([copy]);
+ } else {
+ Doc.AddDocToList(Doc.GetProto(copy)[DataSym], "aliases", copy);
+ }
+ copy.context = undefined;
Doc.UserDoc().defaultAclPrivate && (copy["acl-Public"] = "Not Shared");
return copy;
}
@@ -773,6 +778,7 @@ export namespace Doc {
const delegate = new Doc(id, true);
delegate.proto = doc;
delegate.author = Doc.CurrentUserEmail;
+ if (!Doc.IsSystem(doc)) Doc.AddDocToList(doc[DataSym], "aliases", delegate);
title && (delegate.title = title);
return delegate;
}