diff --git a/CRM/Prospect/Helper/CaseTypeCategory.php b/CRM/Prospect/Helper/CaseTypeCategory.php index 8997040..b2e05f5 100644 --- a/CRM/Prospect/Helper/CaseTypeCategory.php +++ b/CRM/Prospect/Helper/CaseTypeCategory.php @@ -18,12 +18,12 @@ class CRM_Prospect_Helper_CaseTypeCategory { /** * Prospect category label. */ - const PROSPECT_CASE_TYPE_CATEGORY_LABEL = 'Prospecting'; + const PROSPECT_CASE_TYPE_CATEGORY_LABEL = 'Prospects'; /** * Prospect category singular label. */ - const PROSPECT_CASE_TYPE_CATEGORY_SINGULAR_LABEL = 'Prospecting'; + const PROSPECT_CASE_TYPE_CATEGORY_SINGULAR_LABEL = 'Prospect'; /** * Checks if Case Type ID/Name belongs to Prospect Category. diff --git a/CRM/Prospect/Service/SalesOpportunityTrackingMenu.php b/CRM/Prospect/Service/SalesOpportunityTrackingMenu.php index ffceef3..adce0e1 100644 --- a/CRM/Prospect/Service/SalesOpportunityTrackingMenu.php +++ b/CRM/Prospect/Service/SalesOpportunityTrackingMenu.php @@ -14,7 +14,7 @@ class CRM_Prospect_Service_SalesOpportunityTrackingMenu extends CRM_Civicase_Ser public function getSubmenus(array $caseTypeCategory, array $permissions = NULL) { $singularLabelForMenu = ucfirst(strtolower($caseTypeCategory['singular_label'])); $caseTypeCategoryName = $caseTypeCategory['name']; - $labelForMenu = ucfirst(strtolower($caseTypeCategoryName)); + $labelForMenu = ucfirst(strtolower($caseTypeCategory['label'])); $categoryId = civicrm_api3('OptionValue', 'getsingle', [ 'option_group_id' => 'case_type_categories', 'name' => $caseTypeCategoryName, diff --git a/CRM/Prospect/Upgrader.php b/CRM/Prospect/Upgrader.php index 471fd4f..ff9effd 100644 --- a/CRM/Prospect/Upgrader.php +++ b/CRM/Prospect/Upgrader.php @@ -198,7 +198,7 @@ public function enqueuePendingRevisions(CRM_Queue_Queue $queue) { * The queue requires that true is returned on successful upgrade, but we * use exceptions to indicate an error instead. */ - public function runStepUpgrade(CRM_Queue_TaskContext $context, $step) { + public static function runStepUpgrade(CRM_Queue_TaskContext $context, $step) { $step->apply(); return TRUE; diff --git a/CRM/Prospect/Upgrader/Steps/Step1011.php b/CRM/Prospect/Upgrader/Steps/Step1011.php new file mode 100644 index 0000000..68597ce --- /dev/null +++ b/CRM/Prospect/Upgrader/Steps/Step1011.php @@ -0,0 +1,70 @@ +updateCaseCategoryMenuLabel(); + $this->updateCaseCategorySubmenusLabel(); + CRM_Core_BAO_Navigation::resetNavigation(); + + return TRUE; + } + catch (\Throwable $th) { + \Civi::log()->error(E::ts("Error updating Sales opportunity menu"), [ + 'context' => [ + 'backtrace' => $th->getTraceAsString(), + 'message' => $th->getMessage(), + ], + ]); + } + + return FALSE; + } + + /** + * Updates the Case Category Sub Menus label. + */ + protected function updateCaseCategorySubmenusLabel() { + $menuData = CRM_Prospect_Helper_CaseTypeCategory::getDataForMenu(); + $menu = new SalesOpportunityTrackingMenu(); + $caseCategoryPermission = new CaseCategoryPermission(); + $permissions = $caseCategoryPermission->get($menuData['name']); + $submenus = $menu->getSubmenus($menuData, $permissions); + + foreach ($submenus as $item) { + \Civi\Api4\Navigation::update(FALSE) + ->addValue('label', $item['label']) + ->addWhere('name', '=', $item['name']) + ->execute(); + } + } + + /** + * Updates the Case Category Menu Label. + */ + protected function updateCaseCategoryMenuLabel() { + $menuData = CRM_Prospect_Helper_CaseTypeCategory::getDataForMenu(); + $labelForMenu = ucfirst(strtolower($menuData['label'])); + + \Civi\Api4\Navigation::update(FALSE) + ->addValue('label', $labelForMenu) + ->addWhere('name', '=', $menuData['name']) + ->execute(); + } + +}