]> git.andy128k.dev Git - ipf.git/commitdiff
respect model ordering in admin filters
authorAndrey Kutejko <andy128k@gmail.com>
Wed, 20 Nov 2013 18:21:45 +0000 (20:21 +0200)
committerAndrey Kutejko <andy128k@gmail.com>
Wed, 20 Nov 2013 18:21:45 +0000 (20:21 +0200)
ipf/admin/model.php

index f2e1d3e68665b6335e93e4141c2263e1f41c6929..de353cad1cba36eebcbee005ca5be27f42f14363 100644 (file)
@@ -827,7 +827,17 @@ class IPF_Admin_Model
                     'name'=>'All',
                     'selected'=>($sel_id==''),
                 );
-                foreach (IPF_ORM::getTable($rels[$f]['class'])->findAll() as $val){
+
+                $table = IPF_ORM::getTable($rels[$f]['class']);
+
+                $query = $table->createQuery();
+                if ($table->getOrdering()) {
+                    $query->orderBy(implode(', ', $table->getOrdering()));
+                } elseif ($table->hasTemplate('IPF_ORM_Template_Orderable')) {
+                    $query->orderBy($table->getTemplate('IPF_ORM_Template_Orderable')->getColumnName());
+                }
+
+                foreach ($query->execute() as $val) {
                     $selected = false;
                     $id = $val[$foreign];
                     if ($sel_id==$id)