/** * @return CRM_Mainactivity_BriefingConfig */ public static function singleton() { if (!self::$singleton) { self::$singleton = new CRM_Mainactivity_BriefingConfig(); } return self::$singleton; }
public static function buildForm($formName, &$form) { if ($formName != 'CRM_Case_Form_Activity') { return; } $config = CRM_Mainactivity_BriefingConfig::singleton(); if ($form->_activityTypeId != $config->getBriefingExpertActivityId()) { return; } $caseId = $form->_caseId; $expert_contact_id = false; try { $expert_contact_id = civicrm_api3('Relationship', 'getvalue', array('return' => 'contact_id_b', 'is_active' => 1, 'relationship_type_id' => $config->getExpertRelationshipTypeId(), 'case_id' => $caseId)); } catch (Exception $e) { //do nothing } if ($expert_contact_id) { $defaults['assignee_contact'] = array($expert_contact_id); $form->setDefaults($defaults); $formattedContacts = array(array('id' => $expert_contact_id, 'name' => CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Contact', $expert_contact_id, 'display_name', 'id'))); $form->assign('assignee_contact', json_encode($formattedContacts)); } }