From e75119645ba99f2c76fb4f071bfe87ff544c34bc Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Wed, 24 May 2023 17:07:49 +0300 Subject: [PATCH] fix portal edit acl frontend check --- .../metadata/clientDefs/Document.json | 1 + client/modules/crm/src/acl-portal/document.js | 47 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 client/modules/crm/src/acl-portal/document.js diff --git a/application/Espo/Modules/Crm/Resources/metadata/clientDefs/Document.json b/application/Espo/Modules/Crm/Resources/metadata/clientDefs/Document.json index 72c6767d63..b36dc0d9af 100644 --- a/application/Espo/Modules/Crm/Resources/metadata/clientDefs/Document.json +++ b/application/Espo/Modules/Crm/Resources/metadata/clientDefs/Document.json @@ -1,4 +1,5 @@ { + "aclPortal": "crm:acl-portal/document", "controller": "controllers/record", "views": { "list": "crm:views/document/list" diff --git a/client/modules/crm/src/acl-portal/document.js b/client/modules/crm/src/acl-portal/document.js new file mode 100644 index 0000000000..d631eb4498 --- /dev/null +++ b/client/modules/crm/src/acl-portal/document.js @@ -0,0 +1,47 @@ +/************************************************************************ + * This file is part of EspoCRM. + * + * EspoCRM - Open Source CRM application. + * Copyright (C) 2014-2023 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko + * Website: https://www.espocrm.com + * + * EspoCRM is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * EspoCRM is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with EspoCRM. If not, see http://www.gnu.org/licenses/. + * + * The interactive user interfaces in modified source and object code versions + * of this program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU General Public License version 3. + * + * In accordance with Section 7(b) of the GNU General Public License version 3, + * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. + ************************************************************************/ + +define('crm:acl-portal/document', ['acl-portal'], function (Dep) { + + return Dep.extend({ + + checkModelEdit: function (model, data, precise) { + let result = this.checkModel(model, data, 'delete', precise); + + if (result) { + return true; + } + + if (data.edit === 'account') { + return true; + } + + return false; + }, + }); +});