mirror of
https://github.com/hcengineering/platform.git
synced 2025-06-03 22:35:01 +00:00
Tracker: sync project with parent (#2137)
Signed-off-by: Sergei Ogorelkov <sergei.ogorelkov@xored.com>
This commit is contained in:
parent
faaad5bd6d
commit
18392aa8de
@ -96,6 +96,7 @@
|
||||
title: getTitle(newIssue.title),
|
||||
number: (incResult as any).object.sequence,
|
||||
rank: calcRank(lastOne, undefined),
|
||||
project: parentIssue.project,
|
||||
parents: [{ parentId: parentIssue._id, parentTitle: parentIssue.title }, ...parentIssue.parents]
|
||||
}
|
||||
|
||||
|
@ -52,19 +52,24 @@ export async function OnIssueUpdate (tx: Tx, control: TriggerControl): Promise<T
|
||||
{ _id: updateTx.operations.attachedTo as Ref<Issue> },
|
||||
{ limit: 1 }
|
||||
)
|
||||
const updatedProject = newParent !== undefined ? newParent.project : null
|
||||
const updatedParents =
|
||||
newParent !== undefined ? [{ parentId: newParent._id, parentTitle: newParent.title }, ...newParent.parents] : []
|
||||
|
||||
function update (issue: Issue): DocumentUpdate<Issue> {
|
||||
const parentInfoIndex = issue.parents.findIndex(({ parentId }) => parentId === updateTx.objectId)
|
||||
return parentInfoIndex === -1
|
||||
? {}
|
||||
: { parents: [...issue.parents].slice(0, parentInfoIndex + 1).concat(updatedParents) }
|
||||
const parentsUpdate =
|
||||
parentInfoIndex === -1
|
||||
? {}
|
||||
: { parents: [...issue.parents].slice(0, parentInfoIndex + 1).concat(updatedParents) }
|
||||
|
||||
return { ...parentsUpdate, project: updatedProject }
|
||||
}
|
||||
|
||||
res.push(
|
||||
control.txFactory.createTxUpdateDoc(updateTx.objectClass, updateTx.objectSpace, updateTx.objectId, {
|
||||
parents: updatedParents
|
||||
parents: updatedParents,
|
||||
project: updatedProject
|
||||
}),
|
||||
...(await updateSubIssues(updateTx, control, update))
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user