diff --git a/plugins/tracker-assets/lang/en.json b/plugins/tracker-assets/lang/en.json index e3d36b0fd2..07b3ae3bd5 100644 --- a/plugins/tracker-assets/lang/en.json +++ b/plugins/tracker-assets/lang/en.json @@ -188,8 +188,7 @@ "EditWorkflowStatus": "Edit issue status", "DeleteWorkflowStatus": "Delete issue status", "DeleteWorkflowStatusConfirm": "Do you want to delete the \"{status}\" status?", - "DeleteWorkflowStatusError": "Can't delete the issue status", - "DeleteWorkflowStatusErrorDescription": "The \"{status}\" status has {count, plural, =1 {1 issue} other {# issues}} assigned. Please archive or move {count, plural, =1 {it} other {them}} before deleting this status.", + "DeleteWorkflowStatusErrorDescription": "The \"{status}\" status has {count, plural, =1 {1 issue} other {# issues}} assigned. Please select a status to move", "Save": "Save", "IncludeItemsThatMatch": "Include items that match", diff --git a/plugins/tracker-assets/lang/ru.json b/plugins/tracker-assets/lang/ru.json index a4ff6ed4a8..d6366ee1c2 100644 --- a/plugins/tracker-assets/lang/ru.json +++ b/plugins/tracker-assets/lang/ru.json @@ -188,8 +188,7 @@ "EditWorkflowStatus": "Редактировать статус задачи", "DeleteWorkflowStatus": "Удалить статус задачи", "DeleteWorkflowStatusConfirm": "Вы действительно хотите удалить \"{status}\" статус?", - "DeleteWorkflowStatusError": "Невозможно удалить статус задачи", - "DeleteWorkflowStatusErrorDescription": "Статус \"{status}\" {count, plural, =1 {имеет 1 задача} other {имеют # задачи}}. Пожалуйста, архивируйте или переместите {count, plural, =1 {ее} other {их}} перед удалением этого статуса.", + "DeleteWorkflowStatusErrorDescription": "Статус \"{status}\" {count, plural, =1 {имеет 1 задача} other {имеют # задачи}}. Пожалуйста, выберите статус для перемещения.", "Save": "Сохранить", "IncludeItemsThatMatch": "Включить элементы, которые соответствуют", diff --git a/plugins/tracker-resources/src/components/workflow/RemoveStatus.svelte b/plugins/tracker-resources/src/components/workflow/RemoveStatus.svelte new file mode 100644 index 0000000000..827d69269f --- /dev/null +++ b/plugins/tracker-resources/src/components/workflow/RemoveStatus.svelte @@ -0,0 +1,130 @@ + + +
+
+
+
+
+ +
+ +
+ + diff --git a/plugins/tracker-resources/src/components/workflow/StatusPresenter.svelte b/plugins/tracker-resources/src/components/workflow/StatusPresenter.svelte index 80871fca40..f590e6acfb 100644 --- a/plugins/tracker-resources/src/components/workflow/StatusPresenter.svelte +++ b/plugins/tracker-resources/src/components/workflow/StatusPresenter.svelte @@ -60,7 +60,7 @@ > - {#if !isSingle} + {#if !isDefault}
export let projectClass: Ref> @@ -128,18 +129,13 @@ closeTooltip() const { detail: status } = event - const issuesWithDeletingStatus = await client.findAll( - tracker.class.Issue, - { status: status._id }, - { projection: { _id: 1 } } - ) + const issuesWithDeletingStatus = await client.findAll(tracker.class.Issue, { status: status._id }) if (issuesWithDeletingStatus.length > 0) { - showPopup(MessageBox, { - label: tracker.string.DeleteWorkflowStatusError, - message: tracker.string.DeleteWorkflowStatusErrorDescription, - params: { status: status.name, count: issuesWithDeletingStatus.length }, - canSubmit: false + showPopup(RemoveStatus, { + issues: issuesWithDeletingStatus, + projectId, + status }) } else { showPopup( diff --git a/plugins/tracker-resources/src/plugin.ts b/plugins/tracker-resources/src/plugin.ts index b50b32cbf8..92bcba9840 100644 --- a/plugins/tracker-resources/src/plugin.ts +++ b/plugins/tracker-resources/src/plugin.ts @@ -106,7 +106,6 @@ export default mergeIds(trackerId, tracker, { EditWorkflowStatus: '' as IntlString, DeleteWorkflowStatus: '' as IntlString, DeleteWorkflowStatusConfirm: '' as IntlString, - DeleteWorkflowStatusError: '' as IntlString, DeleteWorkflowStatusErrorDescription: '' as IntlString, Name: '' as IntlString, StatusCategory: '' as IntlString,