CRM-16189, modified function to sort option values with other column fields
authorPradeep Nayak <pradpnayak@gmail.com>
Wed, 15 Jun 2016 10:26:32 +0000 (15:56 +0530)
committerPradeep Nayak <pradpnayak@gmail.com>
Wed, 15 Jun 2016 10:26:32 +0000 (15:56 +0530)
----------------------------------------
* CRM-16189: Improve support for Accrual Method bookkeeping
  https://issues.civicrm.org/jira/browse/CRM-16189

CRM/Core/OptionGroup.php

index c286e9dfc653c99ee07570478e2c48b0862f47a5..f4be86c75d36fcd657a5cb414e6d034a5cba7596 100644 (file)
@@ -116,7 +116,8 @@ class CRM_Core_OptionGroup {
   public static function &values(
     $name, $flip = FALSE, $grouping = FALSE,
     $localize = FALSE, $condition = NULL,
-    $labelColumnName = 'label', $onlyActive = TRUE, $fresh = FALSE, $keyColumnName = 'value'
+    $labelColumnName = 'label', $onlyActive = TRUE, $fresh = FALSE, $keyColumnName = 'value',
+    $orderBy = 'weight'
   ) {
     $cache = CRM_Utils_Cache::singleton();
     $cacheKey = self::createCacheKey($name, $flip, $grouping, $localize, $condition, $labelColumnName, $onlyActive, $keyColumnName);
@@ -152,7 +153,7 @@ WHERE  v.option_group_id = g.id
       $query .= $condition;
     }
 
-    $query .= " ORDER BY v.weight";
+    $query .= " ORDER BY v.{$orderBy}";
 
     $p = array(1 => array($name, 'String'));
     $dao = CRM_Core_DAO::executeQuery($query, $p);