From 64736349f0563bb59daa7bfda5672fa48fa1418b Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Wed, 19 Jun 2024 21:44:15 +0300 Subject: [PATCH] ref --- .../crm/src/views/meeting/record/detail.js | 104 +++++++++--------- 1 file changed, 53 insertions(+), 51 deletions(-) diff --git a/client/modules/crm/src/views/meeting/record/detail.js b/client/modules/crm/src/views/meeting/record/detail.js index adb9db9550..6a8cdd2660 100644 --- a/client/modules/crm/src/views/meeting/record/detail.js +++ b/client/modules/crm/src/views/meeting/record/detail.js @@ -26,66 +26,68 @@ * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ -define('crm:views/meeting/record/detail', ['views/record/detail'], function (Dep) { +import DetailRecordView from 'views/record/detail'; - return Dep.extend({ +class MeetingDetailRecordView extends DetailRecordView { - duplicateAction: true, + duplicateAction = true - setup: function () { - Dep.prototype.setup.call(this); - }, + setupActionItems() { + super.setupActionItems(); - setupActionItems: function () { - Dep.prototype.setupActionItems.call(this); - if (this.getAcl().checkModel(this.model, 'edit')) { - if ( - ['Held', 'Not Held'].indexOf(this.model.get('status')) === -1 && - this.getAcl().checkField(this.entityType, 'status', 'edit') - ) { - this.dropdownItemList.push({ - 'label': 'Set Held', - 'name': 'setHeld' - }); + if (!this.getAcl().checkModel(this.model, 'edit')) { + return; + } - this.dropdownItemList.push({ - 'label': 'Set Not Held', - 'name': 'setNotHeld' - }); - } - } - }, + if ( + ['Held', 'Not Held'].includes(this.model.get('status')) || + !this.getAcl().checkField(this.entityType, 'status', 'edit') + ) { + return; + } - manageAccessEdit: function (second) { - Dep.prototype.manageAccessEdit.call(this, second); + this.dropdownItemList.push({ + 'label': 'Set Held', + 'name': 'setHeld', + onClick: () => this.actionSetHeld(), + }); - if (second) { - if (!this.getAcl().checkModel(this.model, 'edit', true)) { - this.hideActionItem('setHeld'); - this.hideActionItem('setNotHeld'); - } - } - }, + this.dropdownItemList.push({ + 'label': 'Set Not Held', + 'name': 'setNotHeld', + onClick: () => this.actionSetNotHeld(), + }); + } - actionSetHeld: function () { - this.model.save({status: 'Held'}, {patch: true}) - .then(() => { - Espo.Ui.success(this.translate('Saved')); + manageAccessEdit(second) { + super.manageAccessEdit(); - this.removeButton('setHeld'); - this.removeButton('setNotHeld'); - }); - }, + if (second && !this.getAcl().checkModel(this.model, 'edit', true)) { + this.hideActionItem('setHeld'); + this.hideActionItem('setNotHeld'); + } + } - actionSetNotHeld: function () { - this.model.save({status: 'Not Held'}, {patch: true}) - .then(() => { - Espo.Ui.success(this.translate('Saved')); + actionSetHeld() { + this.model.save({status: 'Held'}, {patch: true}) + .then(() => { + Espo.Ui.success(this.translate('Saved')); - this.removeButton('setHeld'); - this.removeButton('setNotHeld'); - }); - }, - }); -}); + this.removeActionItem('setHeld'); + this.removeActionItem('setNotHeld'); + }); + } + + actionSetNotHeld() { + this.model.save({status: 'Not Held'}, {patch: true}) + .then(() => { + Espo.Ui.success(this.translate('Saved')); + + this.removeActionItem('setHeld'); + this.removeActionItem('setNotHeld'); + }); + } +} + +export default MeetingDetailRecordView;