예제 #1
0
파일: app.class.php 프로젝트: noikiy/qdpm
 public static function addListingOrder($q, $module, $sf_user, $projects_id = '')
 {
     if ($projects_id == 0) {
         $projects_id = '';
     }
     switch ($module) {
         case 'projects':
             if ($sf_user->hasAttribute('projects_listing_order')) {
                 $q = Projects::getListingOrderByType($q, $sf_user->getAttribute('projects_listing_order'));
             } else {
                 $q->orderBy('ps.sort_order,p.projects_status_id, p.name');
             }
             break;
         case 'tasks':
             if ($sf_user->hasAttribute('tasks_listing_order' . $projects_id)) {
                 $q = Tasks::getListingOrderByType($q, $sf_user->getAttribute('tasks_listing_order' . $projects_id));
             } else {
                 $q->orderBy('ts.group desc, ts.sort_order,LTRIM(ts.name), LTRIM(p.name), LTRIM(t.name)');
             }
             break;
         case 'tickets':
             if ($sf_user->hasAttribute('tickets_listing_order' . $projects_id)) {
                 $q = Tickets::getListingOrderByType($q, $sf_user->getAttribute('tickets_listing_order' . $projects_id));
             } else {
                 $q->orderBy(' ts.sort_order,LTRIM(ts.name), LTRIM(p.name), LTRIM(t.name)');
             }
             break;
         case 'discussions':
             if ($sf_user->hasAttribute('discussions_listing_order' . $projects_id)) {
                 $q = Discussions::getListingOrderByType($q, $sf_user->getAttribute('discussions_listing_order' . $projects_id));
             } else {
                 $q->orderBy('ds.sort_order,LTRIM(ds.name), LTRIM(p.name), LTRIM(d.name)');
             }
             break;
     }
     return $q;
 }