X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FCase%2FForm%2FCaseView.php;h=619ceff3cb3b00695c335e34cf534f8d4a87ae1c;hb=c087eb82efb6049fe03fbad672aa99dcd59c5b25;hp=0865c54e4eb139708a71a5d0b2de690e354e8ef4;hpb=d79c94d57356f7707065f2c2afdbc5b5ca36f160;p=civicrm-core.git diff --git a/CRM/Case/Form/CaseView.php b/CRM/Case/Form/CaseView.php index 0865c54e4e..619ceff3cb 100644 --- a/CRM/Case/Form/CaseView.php +++ b/CRM/Case/Form/CaseView.php @@ -1,9 +1,9 @@ _contactID}&caseid={$this->_caseID}&atype=$type", + FALSE, NULL, FALSE ); + } else { $url = CRM_Utils_System::url('civicrm/case/activity', "action=add&reset=1&cid={$this->_contactID}&caseid={$this->_caseID}&atype=$type", @@ -276,17 +282,17 @@ class CRM_Case_Form_CaseView extends CRM_Core_Form { $activityLinks[$url] = $label; } - $this->add('select', 'add_activity_type_id', '', $activityLinks, FALSE, array('class' => 'crm-select2 crm-action-menu twenty')); + $this->add('select', 'add_activity_type_id', '', $activityLinks, FALSE, array('class' => 'crm-select2 crm-action-menu action-icon-plus twenty')); if ($this->_hasAccessToAllCases) { $this->add('select', 'report_id', '', array('' => ts('Run QA Audit / Redact')) + $reports, FALSE, - array('class' => 'crm-select2 crm-action-menu') + array('class' => 'crm-select2 crm-action-menu action-icon-clipboard') ); $this->add('select', 'timeline_id', '', array('' => ts('Add Timeline')) + $reports, FALSE, - array('class' => 'crm-select2 crm-action-menu') + array('class' => 'crm-select2 crm-action-menu action-icon-play') ); } $this->addElement('submit', $this->getButtonName('next'), ' ', array('class' => 'hiddenElement')); @@ -328,16 +334,8 @@ class CRM_Case_Form_CaseView extends CRM_Core_Form { } } - $activityStatus = CRM_Core_PseudoConstant::activityStatus(); - $this->add('select', 'status_id', ts('Status'), array("" => ts(' - any status - ')) + $activityStatus); - - // activity dates - $this->addDate('activity_date_low', ts('Activity Dates - From'), FALSE, array('formatType' => 'searchDate')); - $this->addDate('activity_date_high', ts('To'), FALSE, array('formatType' => 'searchDate')); - - if (CRM_Core_Permission::check('administer CiviCRM')) { - $this->add('checkbox', 'activity_deleted', ts('Deleted Activities')); - } + //call activity form + self::activityForm($this); //get case related relationships (Case Role) $caseRelationships = CRM_Case_BAO_Case::getCaseRoles($this->_contactID, $this->_caseID); @@ -345,11 +343,7 @@ class CRM_Case_Form_CaseView extends CRM_Core_Form { //save special label because we unset it in the loop $managerLabel = empty($managerRoleId) ? '' : $caseRoles[$managerRoleId]; - //build reporter select - $reporters = array("" => ts(' - any reporter - ')); foreach ($caseRelationships as $key => & $value) { - $reporters[$value['cid']] = $value['name'] . " ( {$value['relation']} )"; - if (!empty($managerRoleId)) { if ($managerRoleId == $value['relation_type']) { $value['relation'] = $managerLabel; @@ -362,18 +356,6 @@ class CRM_Case_Form_CaseView extends CRM_Core_Form { } } - // take all case activity types for search filter, CRM-7187 - $aTypesFilter = array(); - $allCaseActTypes = CRM_Case_PseudoConstant::caseActivityType(); - foreach ($allCaseActTypes as $typeDetails) { - if (!in_array($typeDetails['name'], array( - 'Open Case'))) { - $aTypesFilter[$typeDetails['id']] = CRM_Utils_Array::value('label', $typeDetails); - } - } - asort($aTypesFilter); - $this->add('select', 'activity_type_filter_id', ts('Activity Type'), array('' => ts('- select activity type -')) + $aTypesFilter); - $this->assign('caseRelationships', $caseRelationships); //also add client as role. CRM-4438 @@ -381,8 +363,6 @@ class CRM_Case_Form_CaseView extends CRM_Core_Form { $this->assign('caseRoles', $caseRoles); - $this->add('select', 'reporter_id', ts('Reporter/Role'), $reporters); - // Retrieve ALL client relationships $relClient = CRM_Contact_BAO_Relationship::getRelationship($this->_contactID, CRM_Contact_BAO_Relationship::CURRENT, @@ -524,5 +504,40 @@ class CRM_Case_Form_CaseView extends CRM_Core_Form { $session->pushUserContext($url); } } -} + /** + * Build the activity selector/datatable + * @param CRM_Core_Form $form + */ + static function activityForm($form) { + $caseRelationships = CRM_Case_BAO_Case::getCaseRoles($form->_contactID, $form->_caseID); + //build reporter select + $reporters = array("" => ts(' - any reporter - ')); + foreach ($caseRelationships as $key => & $value) { + $reporters[$value['cid']] = $value['name'] . " ( {$value['relation']} )"; + } + $form->add('select', 'reporter_id', ts('Reporter/Role'), $reporters, FALSE, array('id' => 'reporter_id_'.$form->_caseID)); + + // take all case activity types for search filter, CRM-7187 + $aTypesFilter = array(); + $allCaseActTypes = CRM_Case_PseudoConstant::caseActivityType(); + foreach ($allCaseActTypes as $typeDetails) { + if (!in_array($typeDetails['name'], array('Open Case'))) { + $aTypesFilter[$typeDetails['id']] = CRM_Utils_Array::value('label', $typeDetails); + } + } + asort($aTypesFilter); + $form->add('select', 'activity_type_filter_id', ts('Activity Type'), array('' => ts('- select activity type -')) + $aTypesFilter, FALSE, array('id' => 'activity_type_filter_id_'.$form->_caseID)); + + $activityStatus = CRM_Core_PseudoConstant::activityStatus(); + $form->add('select', 'status_id', ts('Status'), array("" => ts(' - any status - ')) + $activityStatus, FALSE, array('id' => 'status_id_'.$form->_caseID)); + + // activity dates + $form->addDate('activity_date_low_'.$form->_caseID, ts('Activity Dates - From'), FALSE, array('formatType' => 'searchDate')); + $form->addDate('activity_date_high_'.$form->_caseID, ts('To'), FALSE, array('formatType' => 'searchDate')); + + if (CRM_Core_Permission::check('administer CiviCRM')) { + $form->add('checkbox', 'activity_deleted', ts('Deleted Activities'), '', FALSE, array('id' => 'activity_deleted_'.$form->_caseID)); + } + } +}