From 5de2e5361cb445518b12fe42e9075ceb0e6fcd60 Mon Sep 17 00:00:00 2001 From: Pradeep Nayak Date: Fri, 8 Jul 2016 01:23:51 +0530 Subject: [PATCH] [ready-for-core-team-review]CRM-16189, added code to redirect batch search when status is changed (#8582) * CRM-16189, added code to redirect batch search when status is changed ---------------------------------------- * CRM-16189: Improve support for Accrual Method bookkeeping https://issues.civicrm.org/jira/browse/CRM-16189 * --CRM-16189, fixed jenkin errors * CRM-16189 Removed refresh of datatable ---------------------------------------- * CRM-16189: Improve support for Accrual Method bookkeeping https://issues.civicrm.org/jira/browse/CRM-16189 * CRM-16189 Added status id to test as it is a required param ---------------------------------------- * CRM-16189: Improve support for Accrual Method bookkeeping https://issues.civicrm.org/jira/browse/CRM-16189 * CRM-16189 Changes to batch AJAX fiel and test ---------------------------------------- * CRM-16189: Improve support for Accrual Method bookkeeping https://issues.civicrm.org/jira/browse/CRM-16189 * CRM-16189 Fixed string returned ---------------------------------------- * CRM-16189: Improve support for Accrual Method bookkeeping https://issues.civicrm.org/jira/browse/CRM-16189 * CRM-16189 Added check only on add and not edit ---------------------------------------- * CRM-16189: Improve support for Accrual Method bookkeeping https://issues.civicrm.org/jira/browse/CRM-16189 --- CRM/Financial/BAO/FinancialAccount.php | 2 +- CRM/Financial/Page/AJAX.php | 15 +++++++++++++-- templates/CRM/Financial/Form/Search.tpl | 3 ++- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/CRM/Financial/BAO/FinancialAccount.php b/CRM/Financial/BAO/FinancialAccount.php index f3aecbf4d0..2ec3a4db40 100644 --- a/CRM/Financial/BAO/FinancialAccount.php +++ b/CRM/Financial/BAO/FinancialAccount.php @@ -124,7 +124,7 @@ class CRM_Financial_BAO_FinancialAccount extends CRM_Financial_DAO_FinancialAcco 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(); diff --git a/CRM/Financial/Page/AJAX.php b/CRM/Financial/Page/AJAX.php index a5e5b0f774..2980b8b464 100644 --- a/CRM/Financial/Page/AJAX.php +++ b/CRM/Financial/Page/AJAX.php @@ -235,7 +235,14 @@ class CRM_Financial_Page_AJAX { $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, + ); } } } @@ -347,6 +354,10 @@ class CRM_Financial_Page_AJAX { } } $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) { @@ -376,7 +387,7 @@ class CRM_Financial_Page_AJAX { $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'] = ""; diff --git a/templates/CRM/Financial/Form/Search.tpl b/templates/CRM/Financial/Form/Search.tpl index 4627a6325d..402af442d7 100644 --- a/templates/CRM/Financial/Form/Search.tpl +++ b/templates/CRM/Financial/Form/Search.tpl @@ -240,8 +240,9 @@ CRM.$(function($) { 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'); -- 2.25.1