// get batch totals for open batches
$fetchTotals = array();
+ $batchStatus = CRM_Core_PseudoConstant::get('CRM_Batch_DAO_Batch', 'status_id', array('labelColumn' => 'name'));
+ $batchStatus = array(
+ array_search('Open', $batchStatus),
+ array_search('Reopened', $batchStatus),
+ );
if ($params['context'] == 'financialBatch') {
foreach ($batches as $id => $batch) {
- if ($batch['status_id'] == 1) {
+ if (in_array($batch['status_id'], $batchStatus)) {
$fetchTotals[] = $id;
}
}
$batchTypes = CRM_Core_PseudoConstant::get('CRM_Batch_DAO_Batch', 'type_id');
$batchStatus = CRM_Core_PseudoConstant::get('CRM_Batch_DAO_Batch', 'status_id');
+ $batchStatusByName = CRM_Core_PseudoConstant::get('CRM_Batch_DAO_Batch', 'status_id', array('labelColumn' => 'name'));
$paymentInstrument = CRM_Contribute_PseudoConstant::paymentInstrument();
$results = array();
CRM_Core_DAO::storeValues($object, $values);
$action = array_sum(array_keys($newLinks));
- if ($values['status_id'] == 2 && $params['context'] != 'financialBatch') {
+ if ($values['status_id'] == array_search('Closed', $batchStatusByName) && $params['context'] != 'financialBatch') {
$newLinks = array();
}
elseif ($params['context'] == 'financialBatch') {
"' value='1' data-status_id='" .
$values['status_id']."' class='select-row'></input>";
- switch ($values['status_id']) {
- case '1':
+ switch ($batchStatusByName[$values['status_id']]) {
+ case 'Open':
CRM_Utils_Array::remove($newLinks, 'reopen', 'download');
break;
- case '2':
+ case 'Closed':
CRM_Utils_Array::remove($newLinks, 'close', 'edit', 'download');
break;
- case '5':
+ case 'Exported':
CRM_Utils_Array::remove($newLinks, 'close', 'edit', 'reopen', 'export');
}
}
$values['payment_instrument'] = $paymentInstrument[$object->payment_instrument_id];
}
$tokens = array('id' => $object->id, 'status' => $values['status_id']);
- if ($values['status_id'] == CRM_Core_OptionGroup::getValue('batch_status', 'Exported')) {
+ if ($values['status_id'] == array_search('Exported', $batchStatusByName)) {
$aid = CRM_Core_OptionGroup::getValue('activity_type','Export Accounting Batch');
$activityParams = array('source_record_id' => $object->id, 'activity_type_id' => $aid);
$exportActivity = CRM_Activity_BAO_Activity::retrieve($activityParams, $val);
public static function whereClause($params) {
$clauses = array();
// Exclude data-entry batches
+ $batchStatus = CRM_Core_PseudoConstant::get('CRM_Batch_DAO_Batch', 'status_id', array('labelColumn' => 'name'));
if (empty($params['status_id'])) {
- $clauses[] = 'batch.status_id <> 3';
+ $clauses[] = 'batch.status_id <> ' . array_search('Data Entry', $batchStatus);
}
$fields = array(
$clauses[] = "$table.$field = '$value'";
}
elseif ($value) {
- $clauses[] = "$table.$field = $value";
+ if ($field == 'status_id' && $value == array_search('Open', $batchStatus)) {
+ $clauses[] = "$table.$field IN ($value," . array_search('Reopened', $batchStatus) . ')';
+ }
+ else {
+ $clauses[] = "$table.$field = $value";
+ }
}
}
}
* excluding batches with data entry in progress
*/
static function getBatches() {
- $dataEntryStatusId = CRM_Core_OptionGroup::getValue('batch_status','Data Entry');
+ $dataEntryStatusId = CRM_Core_OptionGroup::getValue('batch_status','Data Entry', 'name');
$query = "SELECT id, title
FROM civicrm_batch
WHERE item_count >= 1