CRM-14920 - labels from custom search: honor sort order.
authorJohan Vervloet <johanv@johanv.org>
Mon, 14 Dec 2015 15:48:49 +0000 (16:48 +0100)
committerJohan Vervloet <johanv@johanv.org>
Tue, 15 Dec 2015 14:26:12 +0000 (15:26 +0100)
This fixes the issue when you manually select a number of rows
from the custom search results. It does not work when you
want to create labels for all results.

----------------------------------------
* CRM-14920: Custom Searches do not honor user sort order
  https://issues.civicrm.org/jira/browse/CRM-14920

CRM/Contact/Form/Task.php

index 9e0ab17f62a159e19081b7a8de73175eb716af16..731ab2ffc74e37086fef121b2d7678a7bc1118ca 100644 (file)
@@ -190,9 +190,7 @@ class CRM_Contact_Form_Task extends CRM_Core_Form {
         // and it decides when to use distinct based on input criteria, which needs
         // to be fixed and optimized.
 
-        foreach ($allCids[$cacheKey] as $cid => $ignore) {
-          $form->_contactIds[] = $cid;
-        }
+        $form->_contactIds = array_unique($allCids[$cacheKey]);
       }
     }
     elseif (CRM_Utils_Array::value('radio_ts', self::$_searchFormValues) == 'ts_sel') {
@@ -313,7 +311,7 @@ class CRM_Contact_Form_Task extends CRM_Core_Form {
 
     $contactIds = array();
     while ($dao->fetch()) {
-      $contactIds[$dao->contact_id] = $dao->contact_id;
+      $contactIds[] = $dao->contact_id;
     }
 
     return $contactIds;