NULL,
" AND v.name IN ('Liability', 'Asset') "
);
- if (!CRM_Utils_Array::value($financialAccount->financial_account_type_id, $accountType)) {
+ if (empty($params['id']) && !CRM_Utils_Array::value($financialAccount->financial_account_type_id, $accountType)) {
$financialAccount->opening_balance = $financialAccount->current_period_opening_balance = '0.00';
}
$financialAccount->save();
$updated = call_user_func_array(array($recordBAO, $methods[$op]), array(&$params, $ids));
}
if ($updated) {
- $response = array('status' => 'record-updated-success');
+ $redirectStatus = $updated->status_id;
+ if ($batchStatus[$updated->status_id] == "Reopened") {
+ $redirectStatus = array_search("Open", $batchStatus);
+ }
+ $response = array(
+ 'status' => 'record-updated-success',
+ 'status_id' => $redirectStatus,
+ );
}
}
}
}
}
$financialitems = array();
+ if ($statusID) {
+ $batchStatuses = CRM_Core_PseudoConstant::get('CRM_Batch_DAO_Batch', 'status_id', array('labelColumn' => 'name', 'condition' => " v.value={$statusID}"));
+ $batchStatus = $batchStatuses[$statusID];
+ }
while ($financialItem->fetch()) {
$row[$financialItem->id] = array();
foreach ($columnHeader as $columnKey => $columnValue) {
$row[$financialItem->id][$columnKey] = CRM_Core_PseudoConstant::getLabel('CRM_Contribute_BAO_Contribution', 'contribution_status_id', $financialItem->$columnKey);
}
}
- if ($statusID == CRM_Core_OptionGroup::getValue('batch_status', 'Open')) {
+ if (isset($batchStatus) && in_array($batchStatus, array('Open', 'Reopened'))) {
if (isset($notPresent)) {
$js = "enableActions('x')";
$row[$financialItem->id]['check'] = "<input type='checkbox' id='mark_x_" . $financialItem->id . "' name='mark_x_" . $financialItem->id . "' value='1' onclick={$js}></input>";
function(response) {
//this is custom status set when record update success.
if (response.status == 'record-updated-success') {
+ //Redirect CRM-18169
+ window.location.href = CRM.url('civicrm/financial/financialbatches', 'reset=1&batchStatus=' + response.status_id);
CRM.alert(listRecords(records), op == 'delete' ? {/literal}'{ts escape="js"}Deleted{/ts}' : '{ts escape="js"}Updated{/ts}'{literal}, 'success');
- batchSelector.fnDraw();
}
else {
CRM.alert({/literal}'{ts escape="js"}An error occurred while processing your request.{/ts}', $("#batch_update option[value=" + op + "]").text() + ' {ts escape="js"}Error{/ts}'{literal}, 'error');