CRM-21305, fixed sorting of column on batch transaction listing page
authorPradeep Nayak <pradpnayak@gmail.com>
Thu, 12 Oct 2017 08:57:57 +0000 (14:27 +0530)
committerPradeep Nayak <pradpnayak@gmail.com>
Thu, 12 Oct 2017 08:57:57 +0000 (14:27 +0530)
----------------------------------------
* CRM-21305: Sorting not working on Batch listing page
  https://issues.civicrm.org/jira/browse/CRM-21305

CRM/Batch/Page/AJAX.php
templates/CRM/Financial/Form/Search.tpl

index 7f8fd938133bb7066bd043e4c0a184bbde200ddc..2877e0244cc27c9188cbfe5c42ba4dcb4953dfeb 100644 (file)
@@ -54,21 +54,32 @@ class CRM_Batch_Page_AJAX {
    * @deprecated
    */
   public static function getBatchList() {
-    $sortMapper = array(
-      0 => 'title',
-      1 => 'type_id',
-      2 => '',
-      3 => 'total',
-      4 => 'status_id',
-      5 => '',
-    );
-
+    $context = isset($_REQUEST['context']) ? CRM_Utils_Type::escape($_REQUEST['context'], 'String') : NULL;
+    if ($context != 'financialBatch') {
+      $sortMapper = array(
+        0 => 'title',
+        1 => 'type_id.label',
+        2 => 'item_count',
+        3 => 'total',
+        4 => 'status_id.label',
+        5 => 'created_id.sort_name',
+      );
+    }
+    else {
+      $sortMapper = array(
+        1 => 'title',
+        2 => 'payment_instrument_id.label',
+        3 => 'item_count',
+        4 => 'total',
+        5 => 'status_id.label',
+        6 => 'created_id.sort_name',
+      );
+    }
     $sEcho = CRM_Utils_Type::escape($_REQUEST['sEcho'], 'Integer');
     $offset = isset($_REQUEST['iDisplayStart']) ? CRM_Utils_Type::escape($_REQUEST['iDisplayStart'], 'Integer') : 0;
     $rowCount = isset($_REQUEST['iDisplayLength']) ? CRM_Utils_Type::escape($_REQUEST['iDisplayLength'], 'Integer') : 25;
     $sort = isset($_REQUEST['iSortCol_0']) ? CRM_Utils_Array::value(CRM_Utils_Type::escape($_REQUEST['iSortCol_0'], 'Integer'), $sortMapper) : NULL;
     $sortOrder = isset($_REQUEST['sSortDir_0']) ? CRM_Utils_Type::escape($_REQUEST['sSortDir_0'], 'String') : 'asc';
-    $context = isset($_REQUEST['context']) ? CRM_Utils_Type::escape($_REQUEST['context'], 'String') : NULL;
 
     $params = $_REQUEST;
     if ($sort && $sortOrder) {
index 9e0c7543e493a2d38b70e3e6be2d30a4b1d314ab..5df3040f490a8d0643a7969bfe8b89bf3d7399c5 100644 (file)
@@ -99,8 +99,8 @@ CRM.$(function($) {
         {sClass:'crm-batch-checkbox', bSortable:false},
         {sClass:'crm-batch-name'},
         {sClass:'crm-batch-payment_instrument'},
-        {sClass:'crm-batch-item_count right'},
-        {sClass:'crm-batch-total right'},
+        {sClass:'crm-batch-item_count right', bSortable:false},
+        {sClass:'crm-batch-total right', bSortable:false},
         {sClass:'crm-batch-status'},
         {sClass:'crm-batch-created_by'},
         {sClass:'crm-batch-links', bSortable:false},