X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FCase%2FForm%2FActivity%2FChangeCaseStatus.php;h=d08c1f86f3db7316db820d7af0709021413c3d9c;hb=fd31fa4c65b766d62df21f578772960955322576;hp=09f31ebac69e3323b68dd9285f58e0b6d88c3e2c;hpb=1156155a38856a7315c5923e70b1adaf8a905bca;p=civicrm-core.git diff --git a/CRM/Case/Form/Activity/ChangeCaseStatus.php b/CRM/Case/Form/Activity/ChangeCaseStatus.php index 09f31ebac6..d08c1f86f3 100644 --- a/CRM/Case/Form/Activity/ChangeCaseStatus.php +++ b/CRM/Case/Form/Activity/ChangeCaseStatus.php @@ -51,6 +51,8 @@ class CRM_Case_Form_Activity_ChangeCaseStatus { * * @access public * + * @param $form + * * @return void */ static function setDefaultValues(&$form) { @@ -66,13 +68,18 @@ class CRM_Case_Form_Activity_ChangeCaseStatus { $form->removeElement('priority_id'); $form->_caseStatus = CRM_Case_PseudoConstant::caseStatus(); - $form->_defaultCaseStatus = CRM_Core_DAO::getFieldValue('CRM_Case_DAO_Case', $form->_caseId, 'status_id'); - if (!array_key_exists($form->_defaultCaseStatus, $form->_caseStatus)) { - $form->_caseStatus[$form->_defaultCaseStatus] = CRM_Core_OptionGroup::getLabel('case_status', - $form->_defaultCaseStatus, - FALSE - ); + foreach ($form->_caseId as $key => $val) { + $form->_oldCaseStatus[] = $form->_defaultCaseStatus[] = CRM_Core_DAO::getFieldValue('CRM_Case_DAO_Case', $val, 'status_id'); + } + + foreach ($form->_defaultCaseStatus as $keydefault => $valdefault) { + if (!array_key_exists($valdefault, $form->_caseStatus)) { + $form->_caseStatus[$valdefault] = CRM_Core_OptionGroup::getLabel('case_status', + $valdefault, + FALSE + ); + } } $element = $form->add('select', 'case_status_id', ts('Case Status'), $form->_caseStatus, TRUE @@ -91,6 +98,9 @@ class CRM_Case_Form_Activity_ChangeCaseStatus { * * @param array $values posted values of the form * + * @param $files + * @param $form + * * @return array list of errors to be posted back to the form * @static * @access public @@ -104,6 +114,9 @@ class CRM_Case_Form_Activity_ChangeCaseStatus { * * @access public * + * @param $form + * @param $params + * * @return void */ static function beginPostProcess(&$form, &$params) { @@ -115,6 +128,10 @@ class CRM_Case_Form_Activity_ChangeCaseStatus { * * @access public * + * @param $form + * @param $params + * @param $activity + * * @return void */ static function endPostProcess(&$form, &$params, $activity) { @@ -156,13 +173,15 @@ class CRM_Case_Form_Activity_ChangeCaseStatus { $params['priority_id'] = CRM_Core_OptionGroup::getValue('priority', 'Normal', 'name'); $activity->priority_id = $params['priority_id']; - if ($activity->subject == 'null') { - $activity->subject = ts('Case status changed from %1 to %2', array( - 1 => CRM_Utils_Array::value($form->_defaults['case_status_id'], $form->_caseStatus), - 2 => CRM_Utils_Array::value($params['case_status_id'], $form->_caseStatus) - ) - ); - $activity->save(); + foreach ($form->_oldCaseStatus as $statuskey => $statusval ) { + if ($activity->subject == 'null') { + $activity->subject = ts('Case status changed from %1 to %2', array( + 1 => CRM_Utils_Array::value($statusval, $form->_caseStatus), + 2 => CRM_Utils_Array::value($params['case_status_id'], $form->_caseStatus) + ) + ); + $activity->save(); + } } // FIXME: does this do anything ?