/** * Browse all rule groups. */ public function browse() { // get all rule groups $ruleGroups = array(); $dao = new CRM_Dedupe_DAO_RuleGroup(); $dao->orderBy('contact_type,used ASC'); $dao->find(); $dedupeRuleTypes = CRM_Core_SelectValues::getDedupeRuleTypes(); while ($dao->fetch()) { $ruleGroups[$dao->contact_type][$dao->id] = array(); CRM_Core_DAO::storeValues($dao, $ruleGroups[$dao->contact_type][$dao->id]); // 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]); } $ruleGroups[$dao->contact_type][$dao->id]['action'] = CRM_Core_Action::formLink($links, $action, array('id' => $dao->id), ts('more'), FALSE, 'dedupeRule.manage.action', 'DedupeRule', $dao->id); $ruleGroups[$dao->contact_type][$dao->id]['used_display'] = $dedupeRuleTypes[$ruleGroups[$dao->contact_type][$dao->id]['used']]; } $this->assign('brows', $ruleGroups); }
/** * Browse all rule groups * * @return void * @access public */ function browse() { // get all rule groups $ruleGroups = array(); $dao = new CRM_Dedupe_DAO_RuleGroup(); $dao->orderBy('contact_type,level,is_default DESC'); $dao->find(); while ($dao->fetch()) { $ruleGroups[$dao->id] = array(); CRM_Core_DAO::storeValues($dao, $ruleGroups[$dao->id]); // 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]); } $ruleGroups[$dao->id]['action'] = CRM_Core_Action::formLink($links, $action, array('id' => $dao->id)); CRM_Dedupe_DAO_RuleGroup::addDisplayEnums($ruleGroups[$dao->id]); } $this->assign('rows', $ruleGroups); }
/** * Get an array of rule group id to rule group name * for all th groups for that contactType. If contactType * not specified, do it for all * * @param string $contactType * Individual, Household or Organization. * * * @return array * id => "nice name" of rule group */ public static function getByType($contactType = NULL) { $dao = new CRM_Dedupe_DAO_RuleGroup(); if ($contactType) { $dao->contact_type = $contactType; } $dao->find(); $result = array(); while ($dao->fetch()) { $title = !empty($dao->title) ? $dao->title : (!empty($dao->name) ? $dao->name : $dao->contact_type); $name = "{$title} - {$dao->used}"; $result[$dao->id] = $name; } return $result; }
/** * Get an array of rule group id to rule group name * for all th groups for that contactType. If contactType * not specified, do it for all * * @param string $contactType Individual, Household or Organization * * @static * * @return array id => "nice name" of rule group */ static function getByType($contactType = NULL) { $dao = new CRM_Dedupe_DAO_RuleGroup(); if ($contactType) { $dao->contact_type = $contactType; } $dao->find(); $result = array(); while ($dao->fetch()) { if (!empty($dao->name)) { $name = "{$dao->name} - {$dao->level}"; } else { $name = "{$dao->contact_type} - {$dao->level}"; } $result[$dao->id] = $name; } return $result; }