From 34d0ea1114d223bb3efe01a110f3f841ab5a1f92 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Sat, 5 Oct 2024 12:52:12 +0300 Subject: [PATCH] url attribute emailId --- .../Resources/metadata/clientDefs/Task.json | 2 +- client/modules/crm/src/controllers/task.js | 44 +++++++++++++++++++ client/src/views/email/detail.js | 5 ++- 3 files changed, 48 insertions(+), 3 deletions(-) create mode 100644 client/modules/crm/src/controllers/task.js diff --git a/application/Espo/Modules/Crm/Resources/metadata/clientDefs/Task.json b/application/Espo/Modules/Crm/Resources/metadata/clientDefs/Task.json index 5423adb5c1..f87e82e5fd 100644 --- a/application/Espo/Modules/Crm/Resources/metadata/clientDefs/Task.json +++ b/application/Espo/Modules/Crm/Resources/metadata/clientDefs/Task.json @@ -1,5 +1,5 @@ { - "controller": "controllers/record", + "controller": "crm:controllers/task", "recordViews": { "list": "crm:views/task/record/list", "detail": "crm:views/task/record/detail" diff --git a/client/modules/crm/src/controllers/task.js b/client/modules/crm/src/controllers/task.js new file mode 100644 index 0000000000..afbce7333f --- /dev/null +++ b/client/modules/crm/src/controllers/task.js @@ -0,0 +1,44 @@ +/************************************************************************ + * This file is part of EspoCRM. + * + * EspoCRM – Open Source CRM application. + * Copyright (C) 2014-2024 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko + * Website: https://www.espocrm.com + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + * + * 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 Affero General Public License version 3. + * + * In accordance with Section 7(b) of the GNU Affero General Public License version 3, + * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. + ************************************************************************/ + +import RecordController from 'controllers/record'; + +export default class TaskController extends RecordController { + + actionCreate(options) { + const attributes = {...options.attributes}; + + if (options.emailId) { + attributes.emailId = options.emailId; + + options.attributes = attributes; + } + + super.actionCreate(options); + } +} diff --git a/client/src/views/email/detail.js b/client/src/views/email/detail.js index dc33654105..f58ac8d92a 100644 --- a/client/src/views/email/detail.js +++ b/client/src/views/email/detail.js @@ -370,8 +370,8 @@ class EmailDetailView extends DetailView { const subject = this.model.get('name'); - attributes.description = '[' + this.translate('Email', 'scopeNames') + ': ' + subject +']' + - '(#Email/view/' + this.model.id + ')\n'; + attributes.description = + `[${this.translate('Email', 'scopeNames')}: ${subject}](#Email/view/${this.model.id})\n`; const viewName = this.getMetadata().get('clientDefs.Task.modalViews.edit') || 'views/modals/edit'; @@ -380,6 +380,7 @@ class EmailDetailView extends DetailView { this.createView('quickCreate', viewName, { scope: 'Task', attributes: attributes, + fullFormUrl: `#Task/create?emailId=${attributes.emailId}`, }, view => { const recordView = view.getRecordView();