Make Case menu link in relationship tab conditional
authorElliott Eggleston <ejegg@ejegg.com>
Fri, 2 Feb 2024 15:52:07 +0000 (10:52 -0500)
committerElliott Eggleston <ejegg@ejegg.com>
Fri, 2 Feb 2024 16:23:48 +0000 (11:23 -0500)
Only add the link when CiviCase is enabled

dev/core#4960

managed/contactSummary/SavedSearch_Contact_Summary_Relationships.mgd.php

index 822209aa1b64a8b67a38a2def7b9e475e8a2fdd4..fb94f75c917380c06de1fe336e99ce34adde92dd 100644 (file)
@@ -9,12 +9,76 @@ $joins = [
     ['far_contact_id', '=', 'RelationshipCache_Contact_far_contact_id_01.id'],
   ],
 ];
+$links = [
+  [
+    'entity' => 'Relationship',
+    'action' => 'view',
+    'join' => '',
+    'target' => 'crm-popup',
+    'icon' => 'fa-external-link',
+    'text' => ts('View Relationship'),
+    'style' => 'default',
+    'path' => '',
+    'task' => '',
+    'condition' => [],
+  ],
+  [
+    'entity' => 'Relationship',
+    'action' => 'update',
+    'join' => '',
+    'target' => 'crm-popup',
+    'icon' => 'fa-pencil',
+    'text' => ts('Update Relationship'),
+    'style' => 'default',
+    'path' => '',
+    'task' => '',
+    'condition' => [],
+  ],
+  [
+    'task' => 'disable',
+    'entity' => 'Relationship',
+    'join' => '',
+    'target' => 'crm-popup',
+    'icon' => 'fa-toggle-off',
+    'text' => ts('Disable Relationship'),
+    'style' => 'default',
+    'path' => '',
+    'action' => '',
+    'condition' => [
+      'is_active',
+      '=',
+      TRUE,
+    ],
+  ],
+  [
+    'entity' => 'Relationship',
+    'action' => 'delete',
+    'join' => '',
+    'target' => 'crm-popup',
+    'icon' => 'fa-trash',
+    'text' => ts('Delete Relationship'),
+    'style' => 'danger',
+    'path' => '',
+    'task' => '',
+    'condition' => [],
+  ],
+];
 if ($civiCaseEnabled) {
   $joins[] = [
     'Case AS RelationshipCache_Case_case_id_01',
     'LEFT',
     ['case_id', '=', 'RelationshipCache_Case_case_id_01.id'],
   ];
+  $links[] = [
+    'entity' => 'Case',
+    'action' => 'view',
+    'join' => 'RelationshipCache_Case_case_id_01',
+    'target' => '',
+    'icon' => 'fa-folder-open',
+    'text' => ts('Manage Case'),
+    'style' => 'default',
+    'condition' => [],
+  ];
 }
 
 return [
@@ -185,70 +249,7 @@ return [
               'style' => 'default',
               'size' => 'btn-xs',
               'icon' => 'fa-bars',
-              'links' => [
-                [
-                  'entity' => 'Relationship',
-                  'action' => 'view',
-                  'join' => '',
-                  'target' => 'crm-popup',
-                  'icon' => 'fa-external-link',
-                  'text' => ts('View Relationship'),
-                  'style' => 'default',
-                  'path' => '',
-                  'task' => '',
-                  'condition' => [],
-                ],
-                [
-                  'entity' => 'Relationship',
-                  'action' => 'update',
-                  'join' => '',
-                  'target' => 'crm-popup',
-                  'icon' => 'fa-pencil',
-                  'text' => ts('Update Relationship'),
-                  'style' => 'default',
-                  'path' => '',
-                  'task' => '',
-                  'condition' => [],
-                ],
-                [
-                  'task' => 'disable',
-                  'entity' => 'Relationship',
-                  'join' => '',
-                  'target' => 'crm-popup',
-                  'icon' => 'fa-toggle-off',
-                  'text' => ts('Disable Relationship'),
-                  'style' => 'default',
-                  'path' => '',
-                  'action' => '',
-                  'condition' => [
-                    'is_active',
-                    '=',
-                    TRUE,
-                  ],
-                ],
-                [
-                  'entity' => 'Relationship',
-                  'action' => 'delete',
-                  'join' => '',
-                  'target' => 'crm-popup',
-                  'icon' => 'fa-trash',
-                  'text' => ts('Delete Relationship'),
-                  'style' => 'danger',
-                  'path' => '',
-                  'task' => '',
-                  'condition' => [],
-                ],
-                [
-                  'entity' => 'Case',
-                  'action' => 'view',
-                  'join' => 'RelationshipCache_Case_case_id_01',
-                  'target' => '',
-                  'icon' => 'fa-folder-open',
-                  'text' => ts('Manage Case'),
-                  'style' => 'default',
-                  'condition' => [],
-                ],
-              ],
+              'links' => $links,
               'type' => 'menu',
               'alignment' => 'text-right',
             ],