From 552681ed83fb8fbe8ce5676a3aa8f0935eb3d050 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Tue, 7 Nov 2023 14:53:05 +0200 Subject: [PATCH] use non actual options --- client/modules/crm/src/handlers/case/detail-actions.js | 5 ++++- client/modules/crm/src/handlers/task/detail-actions.js | 5 ++++- client/modules/crm/src/handlers/task/menu.js | 7 +++++-- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/client/modules/crm/src/handlers/case/detail-actions.js b/client/modules/crm/src/handlers/case/detail-actions.js index fd63272d7b..92ce2e5c0b 100644 --- a/client/modules/crm/src/handlers/case/detail-actions.js +++ b/client/modules/crm/src/handlers/case/detail-actions.js @@ -63,7 +63,10 @@ class CaseDetailActionHandler extends ActionHandler { const acl = this.view.getAcl(); const metadata = this.view.getMetadata(); - if (['Closed', 'Rejected', 'Duplicate'].includes(model.get('status'))) { + /** @type {string[]} */ + const notActualStatuses = metadata.get('entityDefs.Case.fields.status.notActualOptions') || []; + + if (notActualStatuses.includes(model.get('status'))) { return false; } diff --git a/client/modules/crm/src/handlers/task/detail-actions.js b/client/modules/crm/src/handlers/task/detail-actions.js index 1f2d1edd6d..37f46058af 100644 --- a/client/modules/crm/src/handlers/task/detail-actions.js +++ b/client/modules/crm/src/handlers/task/detail-actions.js @@ -44,7 +44,10 @@ class DetailActions extends ActionHandler { isCompleteAvailable() { const status = this.view.model.get('status'); - return !['Completed', 'Canceled'].includes(status); + /** @type {string[]} */ + const notActualStatuses = this.view.getMetadata().get('entityDefs.Task.fields.status.notActualOptions') || []; + + return !notActualStatuses.includes(status); } } diff --git a/client/modules/crm/src/handlers/task/menu.js b/client/modules/crm/src/handlers/task/menu.js index 4bbc92ca18..d06786277a 100644 --- a/client/modules/crm/src/handlers/task/menu.js +++ b/client/modules/crm/src/handlers/task/menu.js @@ -42,15 +42,18 @@ class TaskMenuHandler extends ActionHandler { // noinspection JSUnusedGlobalSymbols isCompleteAvailable() { + const status = this.view.model.get('status'); + const view = /** @type {module:views/detail} */this.view; if (view.getRecordView().isEditMode()) { return false; } - const status = view.model.get('status'); + /** @type {string[]} */ + const notActualStatuses = this.view.getMetadata().get('entityDefs.Task.fields.status.notActualOptions') || []; - return !['Completed', 'Canceled'].includes(status); + return !notActualStatuses.includes(status); } }