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; }