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]),