[ready-for-core-team-review]CRM-16189, added code to redirect batch search when statu...
authorPradeep Nayak <pradpnayak@gmail.com>
Thu, 7 Jul 2016 19:53:51 +0000 (01:23 +0530)
committercolemanw <coleman@civicrm.org>
Thu, 7 Jul 2016 19:53:51 +0000 (15:53 -0400)
* 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
CRM/Financial/Page/AJAX.php
templates/CRM/Financial/Form/Search.tpl

index f3aecbf4d08c72ff9e199afb6a6da4d7b45488d3..2ec3a4db4049766b24af42148ed4881635ab02cd 100644 (file)
@@ -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();
index a5e5b0f7747c8bbc7c3b737559eed02931fb9e4d..2980b8b464c4337ec509d7bf8bcda8d6d721b2ff 100644 (file)
@@ -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'] = "<input type='checkbox' id='mark_x_" . $financialItem->id . "' name='mark_x_" . $financialItem->id . "' value='1' onclick={$js}></input>";
index 4627a6325ddb6263023a0b54a3a9c51e1e4e6b5c..402af442d782c8d5ee1aeda933d8cd12e0e88845 100644 (file)
@@ -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');