From 8a7a4586d31a349bc8da61f4720ba98d853d1dde Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Wed, 5 Jan 2022 11:47:21 -0500 Subject: [PATCH] DedupeRules - Translate contact type labels, respect enabled contact types --- CRM/Contact/Page/DedupeRules.php | 16 ++++++++-------- templates/CRM/Contact/Page/DedupeRules.tpl | 6 +++--- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/CRM/Contact/Page/DedupeRules.php b/CRM/Contact/Page/DedupeRules.php index 8d52be5d25..84461909a3 100644 --- a/CRM/Contact/Page/DedupeRules.php +++ b/CRM/Contact/Page/DedupeRules.php @@ -113,13 +113,16 @@ class CRM_Contact_Page_DedupeRules extends CRM_Core_Page_Basic { * Browse all rule groups. */ public function browse() { - // get all rule groups - $ruleGroups = []; + $contactTypes = array_column(CRM_Contact_BAO_ContactType::basicTypeInfo(), 'label', 'name'); + $dedupeRuleTypes = CRM_Core_SelectValues::getDedupeRuleTypes(); + $ruleGroups = array_fill_keys(array_keys($contactTypes), []); + + // Get rule groups for enabled contact types $dao = new CRM_Dedupe_DAO_DedupeRuleGroup(); - $dao->orderBy('contact_type ASC, used ASC, title ASC'); + $dao->orderBy('used ASC, title ASC'); + $dao->whereAdd('contact_type IN ("' . implode('","', array_keys($contactTypes)) . '")'); $dao->find(); - $dedupeRuleTypes = CRM_Core_SelectValues::getDedupeRuleTypes(); while ($dao->fetch()) { $ruleGroups[$dao->contact_type][$dao->id] = []; CRM_Core_DAO::storeValues($dao, $ruleGroups[$dao->contact_type][$dao->id]); @@ -127,10 +130,6 @@ class CRM_Contact_Page_DedupeRules extends CRM_Core_Page_Basic { // form all action links $action = array_sum(array_keys($this->links())); $links = self::links(); - /* if ($dao->is_default) { - unset($links[CRM_Core_Action::MAP]); - unset($links[CRM_Core_Action::DELETE]); - }*/ if ($dao->is_reserved) { unset($links[CRM_Core_Action::DELETE]); @@ -150,6 +149,7 @@ class CRM_Contact_Page_DedupeRules extends CRM_Core_Page_Basic { $ruleGroups[$dao->contact_type][$dao->id]['used_display'] = $dedupeRuleTypes[$ruleGroups[$dao->contact_type][$dao->id]['used']]; } $this->assign('brows', $ruleGroups); + $this->assign('contactTypes', $contactTypes); } /** diff --git a/templates/CRM/Contact/Page/DedupeRules.tpl b/templates/CRM/Contact/Page/DedupeRules.tpl index db817af126..60c8cc87a4 100644 --- a/templates/CRM/Contact/Page/DedupeRules.tpl +++ b/templates/CRM/Contact/Page/DedupeRules.tpl @@ -23,13 +23,13 @@ {if $brows} {include file="CRM/common/jsortable.tpl"} {foreach from=$brows key=contactType item=rows} -
+
{strip} - + @@ -45,7 +45,7 @@ {/strip}
- {crmButton q="action=add&contact_type=$contactType&reset=1" icon="plus-circle"}{ts 1=$contactType}Add Rule for %1s{/ts}{/crmButton} + {crmButton q="action=add&contact_type=$contactType&reset=1" icon="plus-circle"}{ts 1=$contactTypes.$contactType}Add %1 Rule{/ts}{/crmButton}
{/foreach} -- 2.25.1
{ts 1=$contactType}%1 Rules{/ts}{ts 1=$contactTypes.$contactType}%1 Rules{/ts} {ts}Usage{/ts}