From 3b264818aa35b2603eb3940eeca7867243520700 Mon Sep 17 00:00:00 2001 From: Samuel Vanhove Date: Thu, 29 Jun 2023 15:32:22 -0400 Subject: [PATCH] Upgrader for menu instead of a managed --- .../CRM/CivicrmAdminUi/Upgrader.php | 41 +++++++++++++++++++ .../civicrm_admin_ui.civix.php | 4 +- ext/civicrm_admin_ui/info.xml | 3 +- .../SavedSearch_Contact_Search.mgd.php | 26 ------------ 4 files changed, 45 insertions(+), 29 deletions(-) create mode 100644 ext/civicrm_admin_ui/CRM/CivicrmAdminUi/Upgrader.php diff --git a/ext/civicrm_admin_ui/CRM/CivicrmAdminUi/Upgrader.php b/ext/civicrm_admin_ui/CRM/CivicrmAdminUi/Upgrader.php new file mode 100644 index 0000000000..e055a9abda --- /dev/null +++ b/ext/civicrm_admin_ui/CRM/CivicrmAdminUi/Upgrader.php @@ -0,0 +1,41 @@ +addValue('url', $path) + ->addWhere('name', '=', 'Find Contacts') + ->execute(); + } + + public function install(): void { + $this->replaceFindContactMenuPath('civicrm/adminui/contact/search'); + } + + public function uninstall(): void { + $this->replaceFindContactMenuPath('civicrm/contact/search'); + } + + public function enable(): void { + $this->replaceFindContactMenuPath('civicrm/adminui/contact/search'); + } + + public function disable(): void { + $this->replaceFindContactMenuPath('civicrm/contact/search'); + } + + public function upgrade_1000(): bool { + $this->replaceFindContactMenuPath('civicrm/adminui/contact/search'); + return TRUE; + } + +} diff --git a/ext/civicrm_admin_ui/civicrm_admin_ui.civix.php b/ext/civicrm_admin_ui/civicrm_admin_ui.civix.php index 69a952d2b2..ff765700fe 100644 --- a/ext/civicrm_admin_ui/civicrm_admin_ui.civix.php +++ b/ext/civicrm_admin_ui/civicrm_admin_ui.civix.php @@ -133,8 +133,8 @@ function _civicrm_admin_ui_civix_insert_navigation_menu(&$menu, $path, $item) { if (empty($path)) { $menu[] = [ 'attributes' => array_merge([ - 'label' => CRM_Utils_Array::value('name', $item), - 'active' => 1, + 'label' => $item['name'] ?? NULL, + 'active' => 1, ], $item), ]; return TRUE; diff --git a/ext/civicrm_admin_ui/info.xml b/ext/civicrm_admin_ui/info.xml index 84dcaee275..1b1de89ba6 100644 --- a/ext/civicrm_admin_ui/info.xml +++ b/ext/civicrm_admin_ui/info.xml @@ -32,9 +32,10 @@ CRM/CivicrmAdminUi crmCivicrmAdminUi - 23.02.0 + 23.02.1 mgd-php@1.0.0 + CRM_CivicrmAdminUi_Upgrader diff --git a/ext/civicrm_admin_ui/managed/SavedSearch_Contact_Search.mgd.php b/ext/civicrm_admin_ui/managed/SavedSearch_Contact_Search.mgd.php index a297cf824e..f6884f933f 100644 --- a/ext/civicrm_admin_ui/managed/SavedSearch_Contact_Search.mgd.php +++ b/ext/civicrm_admin_ui/managed/SavedSearch_Contact_Search.mgd.php @@ -3,32 +3,6 @@ use CRM_CivicrmAdminUi_ExtensionUtil as E; return [ - // using a temporary alternate path to avoid breaking legacy path - [ - 'name' => 'Navigation_Find_Contacts', - 'entity' => 'Navigation', - 'cleanup' => 'unused', - 'update' => 'unmodified', - 'params' => [ - 'version' => 4, - 'values' => [ - 'domain_id' => 'current_domain', - 'label' => E::ts('Find Contacts'), - 'name' => 'Find Contacts', - 'url' => 'civicrm/adminui/contact/search', - 'icon' => NULL, - 'permission' => NULL, - 'permission_operator' => '', - 'parent_id.name' => 'Search', - 'is_active' => TRUE, - 'has_separator' => NULL, - 'weight' => 1, - ], - 'match' => [ - 'name', - ], - ], - ], [ 'name' => 'SavedSearch_Find_Contacts', 'entity' => 'SavedSearch', -- 2.25.1