From 7f05cbe497caac8f035ce5420668e1733f09e419 Mon Sep 17 00:00:00 2001 From: Denis Bykhov Date: Fri, 3 Feb 2023 10:06:59 +0600 Subject: [PATCH] Minor tracker fixes (#2582) Signed-off-by: Denis Bykhov --- .../src/components/CreateIssue.svelte | 6 ++- .../issues/edit/CreateSubIssue.svelte | 2 +- .../src/components/teams/CreateTeam.svelte | 39 +++++++++++++++++-- .../templates/IssueTemplatesContent.svelte | 4 +- .../templates/IssueTemplatesView.svelte | 4 +- 5 files changed, 45 insertions(+), 10 deletions(-) diff --git a/plugins/tracker-resources/src/components/CreateIssue.svelte b/plugins/tracker-resources/src/components/CreateIssue.svelte index 6f60931b6c..fc48a439da 100644 --- a/plugins/tracker-resources/src/components/CreateIssue.svelte +++ b/plugins/tracker-resources/src/components/CreateIssue.svelte @@ -553,8 +553,7 @@ } } } - - addNotification(tracker.string.IssueCreated, getTitle(object.title), IssueNotification, { + addNotification(await translate(tracker.string.IssueCreated, {}), getTitle(object.title), IssueNotification, { issueId: objectId, subTitlePostfix: (await translate(tracker.string.Created, { value: 1 })).toLowerCase(), issueUrl: currentTeam && generateIssueShortLink(getIssueId(currentTeam, value as Issue)) @@ -707,6 +706,9 @@ = generateId() + function getTeamData () { return { name, @@ -72,7 +74,7 @@ identifier: name.toUpperCase().replaceAll(' ', '_'), sequence: 0, issueStatuses: 0, - defaultIssueStatus: '' as Ref, + defaultIssueStatus: defaultStatusId, icon, defaultTimeReportDay: selectedWorkDayType ?? TimeReportDayType.PreviousWorkDay, workDayLength: selectedWorkDayLength ?? WorkDayLength.EIGHT_HOURS @@ -97,7 +99,36 @@ } async function createTeam () { - await client.createDoc(tracker.class.Team, core.space.Space, getTeamData()) + const id = await client.createDoc(tracker.class.Team, core.space.Space, getTeamData()) + await createTeamIssueStatuses(id, defaultStatusId) + } + + async function createTeamIssueStatuses ( + teamId: Ref, + defaultStatusId: Ref, + defaultCategoryId = tracker.issueStatusCategory.Backlog + ): Promise { + const categories = await client.findAll( + tracker.class.IssueStatusCategory, + {}, + { sort: { order: SortingOrder.Ascending } } + ) + const issueStatusRanks = [...genRanks(categories.length)] + + for (const [i, statusCategory] of categories.entries()) { + const { _id: category, defaultStatusName } = statusCategory + const rank = issueStatusRanks[i] + + await client.addCollection( + tracker.class.IssueStatus, + teamId, + teamId, + tracker.class.Team, + 'issueStatuses', + { name: defaultStatusName, category, rank }, + category === defaultCategoryId ? defaultStatusId : undefined + ) + } } function chooseIcon (ev: MouseEvent) { diff --git a/plugins/tracker-resources/src/components/templates/IssueTemplatesContent.svelte b/plugins/tracker-resources/src/components/templates/IssueTemplatesContent.svelte index ab51d47525..32e507e01e 100644 --- a/plugins/tracker-resources/src/components/templates/IssueTemplatesContent.svelte +++ b/plugins/tracker-resources/src/components/templates/IssueTemplatesContent.svelte @@ -1,5 +1,5 @@