From b350bd4fc1d49cb69fc22df2bab0280156e99500 Mon Sep 17 00:00:00 2001 From: Yuri Kuznetsov Date: Fri, 25 Nov 2022 09:41:16 +0200 Subject: [PATCH] event confirmation fixes --- .../Espo/Modules/Crm/EntryPoints/EventConfirmation.php | 10 +++++++++- .../res/templates/event-confirmation/confirmation.tpl | 4 ++++ .../crm/src/views/event-confirmation/confirmation.js | 7 ++++++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/application/Espo/Modules/Crm/EntryPoints/EventConfirmation.php b/application/Espo/Modules/Crm/EntryPoints/EventConfirmation.php index 724ff63b9b..bbe9e1b6e1 100644 --- a/application/Espo/Modules/Crm/EntryPoints/EventConfirmation.php +++ b/application/Espo/Modules/Crm/EntryPoints/EventConfirmation.php @@ -67,7 +67,6 @@ class EventConfirmation implements EntryPoint /** * @throws BadRequest - * @throws NotFound * @throws Error */ public function run(Request $request, Response $response): void @@ -128,8 +127,17 @@ class EventConfirmation implements EntryPoint return; } + $isRelated = $this->entityManager + ->getRDBRepository($eventType) + ->getRelation($event, $link) + ->isRelated($invitee); + $eventStatus = $event->get('status'); + if (!$isRelated) { + $eventStatus = Meeting::STATUS_NOT_HELD; + } + if (in_array($eventStatus, [Meeting::STATUS_HELD, Meeting::STATUS_NOT_HELD])) { $actionData = [ 'eventName' => $event->get('name'), diff --git a/client/modules/crm/res/templates/event-confirmation/confirmation.tpl b/client/modules/crm/res/templates/event-confirmation/confirmation.tpl index 56f3b22deb..2e47d1daad 100644 --- a/client/modules/crm/res/templates/event-confirmation/confirmation.tpl +++ b/client/modules/crm/res/templates/event-confirmation/confirmation.tpl @@ -3,15 +3,18 @@

{{actionData.translatedEntityType}}: {{actionData.eventName}}

+ {{#if dateStart}}
{{#if dateStartChanged}}
{{sentDateStart}}
{{/if}}
{{dateStart}}
+ {{/if}}
{{actionData.translatedStatus}}  
+ {{#if actionDataList}} @@ -24,6 +27,7 @@ {{/each}} + {{/if}}
diff --git a/client/modules/crm/src/views/event-confirmation/confirmation.js b/client/modules/crm/src/views/event-confirmation/confirmation.js index 6b12e74e48..b539e64924 100644 --- a/client/modules/crm/src/views/event-confirmation/confirmation.js +++ b/client/modules/crm/src/views/event-confirmation/confirmation.js @@ -26,7 +26,7 @@ * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ -define('crm:views/event-confirmation/confirmation', ['view', 'lib!moment'], function (Dep, moment) { +define('crm:views/event-confirmation/confirmation', ['view'], function (Dep) { return Dep.extend({ @@ -61,10 +61,15 @@ define('crm:views/event-confirmation/confirmation', ['view', 'lib!moment'], func let statusList = ['Accepted', 'Tentative', 'Declined']; + if (!statusList.includes(this.actionData.status)) { + return null; + } + let url = window.location.href.replace('action=' + actionMap[this.actionData.status], 'action={action}'); return statusList.map(item => { let active = item === this.actionData.status; + return { active: active, link: active ? '' : url.replace('{action}', actionMap[item]),