From afb2a7903f774881dd7362fd23bed8e7611640a1 Mon Sep 17 00:00:00 2001 From: Mathieu Lu Date: Sun, 22 Oct 2023 11:14:18 -0400 Subject: [PATCH] Case Activity: use select2 for Medium field --- CRM/Case/Form/Activity.php | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/CRM/Case/Form/Activity.php b/CRM/Case/Form/Activity.php index e959a9423291..66a084490216 100644 --- a/CRM/Case/Form/Activity.php +++ b/CRM/Case/Form/Activity.php @@ -203,10 +203,11 @@ public function setDefaultValues() { } $this->assign('targetContactValues', empty($targetContactValues) ? FALSE : $targetContactValues); - if (isset($this->_encounterMedium)) { - $this->_defaults['medium_id'] = $this->_encounterMedium; + if ($this->_activityId) { + $this->_defaults['medium_id'] = CRM_Core_DAO::getFieldValue('CRM_Activity_DAO_Activity', $this->_activityId, 'medium_id'); } - elseif (empty($this->_defaults['medium_id'])) { + + if (empty($this->_defaults['medium_id'])) { // set default encounter medium CRM-4816 $medium = CRM_Core_OptionGroup::values('encounter_medium', FALSE, FALSE, FALSE, 'AND is_default = 1'); if (count($medium) == 1) { @@ -266,22 +267,13 @@ public function buildQuickForm() { $this->assign('urlPath', 'civicrm/case/activity'); - $encounterMediums = CRM_Case_PseudoConstant::encounterMedium(); - if ($this->_activityTypeFile == 'OpenCase' && $this->_action == CRM_Core_Action::UPDATE) { $this->getElement('activity_date_time')->freeze(); - - if ($this->_activityId) { - // Fixme: what's the justification for this? It seems like it is just re-adding an option in case it is the default and disabled. - // Is that really a big problem? - $this->_encounterMedium = CRM_Core_DAO::getFieldValue('CRM_Activity_DAO_Activity', $this->_activityId, 'medium_id'); - if (!array_key_exists($this->_encounterMedium, $encounterMediums)) { - $encounterMediums[$this->_encounterMedium] = CRM_Core_PseudoConstant::getLabel('CRM_Activity_BAO_Activity', 'medium_id', $this->_encounterMedium); - } - } } - $this->add('select', 'medium_id', ts('Medium'), $encounterMediums, TRUE); + $this->addSelect('medium_id'); + + // Related contacts $i = 0; foreach ($this->_caseId as $key => $val) { $this->_relatedContacts[] = $rgc = CRM_Case_BAO_Case::getRelatedAndGlobalContacts($val);