Skip to content

Commit

Permalink
Merge pull request #11878 from mattwire/CRM-21791_financial_batch_pse…
Browse files Browse the repository at this point in the history
…udoconstant

CRM-21791 Use name for comparison instead of label (alternative)
  • Loading branch information
eileenmcnaughton authored Mar 30, 2018
2 parents 775d19c + b9a4cb6 commit c2bf40c
Showing 1 changed file with 12 additions and 13 deletions.
25 changes: 12 additions & 13 deletions CRM/Financial/Form/FinancialBatch.php
Original file line number Diff line number Diff line change
Expand Up @@ -114,10 +114,10 @@ public function buildQuickForm() {
);

if ($this->_action & CRM_Core_Action::UPDATE && $this->_id) {
$batchStatus = CRM_Core_PseudoConstant::get('CRM_Batch_DAO_Batch', 'status_id');
$batchStatus = CRM_Core_PseudoConstant::get('CRM_Batch_BAO_Batch', 'status_id');

// unset exported status
$exportedStatusId = CRM_Utils_Array::key('Exported', $batchStatus);
$exportedStatusId = CRM_Core_PseudoConstant::getKey('CRM_Batch_BAO_Batch', 'status_id', 'Exported');
unset($batchStatus[$exportedStatusId]);
$this->add('select', 'status_id', ts('Batch Status'), array('' => ts('- select -')) + $batchStatus, TRUE);
$this->freeze(array('status_id'));
Expand Down Expand Up @@ -196,7 +196,7 @@ public static function formRule($values, $files, $self) {
public function postProcess() {
$session = CRM_Core_Session::singleton();
$params = $this->exportValues();
$batchStatus = CRM_Core_PseudoConstant::get('CRM_Batch_DAO_Batch', 'status_id');
$closedStatusId = CRM_Core_PseudoConstant::getKey('CRM_Batch_BAO_Batch', 'status_id', 'Closed');
if ($this->_id) {
$params['id'] = $this->_id;
}
Expand All @@ -209,9 +209,8 @@ public function postProcess() {
}

if ($this->_action & CRM_Core_Action::ADD) {
$batchMode = CRM_Core_PseudoConstant::get('CRM_Batch_DAO_Batch', 'mode_id', array('labelColumn' => 'name'));
$params['mode_id'] = CRM_Utils_Array::key('Manual Batch', $batchMode);
$params['status_id'] = CRM_Utils_Array::key('Open', $batchStatus);
$params['mode_id'] = CRM_Core_PseudoConstant::getKey('CRM_Batch_BAO_Batch', 'mode_id', 'Manual Batch');
$params['status_id'] = CRM_Core_PseudoConstant::getKey('CRM_Batch_BAO_Batch', 'status_id', 'Open');
$params['created_date'] = date('YmdHis');
if (empty($params['created_id'])) {
$params['created_id'] = $session->get('userID');
Expand All @@ -221,25 +220,25 @@ public function postProcess() {
}
elseif ($this->_action & CRM_Core_Action::UPDATE && $this->_id) {
$details = "{$params['title']} batch has been edited by this contact.";
if (CRM_Utils_Array::value($params['status_id'], $batchStatus) == 'Closed') {
if ($params['status_id'] === $closedStatusId) {
$details = "{$params['title']} batch has been closed by this contact.";
}
$activityTypeName = 'Edit Batch';
}

// FIXME: What happens if we get to here and no activityType is defined?
$batch = CRM_Batch_BAO_Batch::create($params);

//set batch id
$this->_id = $batch->id;

$activityTypes = CRM_Core_PseudoConstant::activityType(TRUE, FALSE, FALSE, 'name');

// create activity.
$activityParams = array(
'activity_type_id' => array_search($activityTypeName, $activityTypes),
'activity_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_DAO_Activity', 'activity_type_id', $activityTypeName),
'subject' => $batch->title . "- Batch",
'status_id' => 2,
'priority_id' => 2,
'status_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_DAO_Activity', 'activity_status_id', 'Completed'),
'priority_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_DAO_Activity', 'priority_id', 'Normal'),
'activity_date_time' => date('YmdHis'),
'source_contact_id' => $session->get('userID'),
'source_contact_qid' => $session->get('userID'),
Expand All @@ -262,7 +261,7 @@ public function postProcess() {
$session->replaceUserContext(CRM_Utils_System::url('civicrm/financial/batch',
"reset=1&action=add"));
}
elseif (CRM_Utils_Array::value($batch->status_id, $batchStatus) == 'Closed') {
elseif ($batch->status_id === $closedStatusId) {
$session->replaceUserContext(CRM_Utils_System::url('civicrm', 'reset=1'));
}
elseif (($buttonName == $this->getButtonName('next') & $this->_action == CRM_Core_Action::UPDATE) ||
Expand Down

0 comments on commit c2bf40c

Please sign in to comment.