Skip to content
Snippets Groups Projects
Commit 62854f64 authored by Peter Rotich's avatar Peter Rotich
Browse files

Unify Agent sorting

Consolidate agents name sorting in Staff::nsort. The routing expects a query
set.
parent c846db53
No related branches found
No related tags found
No related merge requests found
......@@ -182,16 +182,8 @@ implements TemplateVariable {
'onvacation' => 0,
));
}
switch ($cfg->getAgentNameFormat()) {
case 'last':
case 'lastfirst':
case 'legal':
$members->order_by('lastname', 'firstname');
break;
default:
$members->order_by('firstname', 'lastname');
}
$members = Staff::nsort($members);
if ($criteria)
return $members;
......
......@@ -782,16 +782,7 @@ implements AuthenticatedUser, EmailContact, TemplateVariable {
));
}
switch ($cfg->getAgentNameFormat()) {
case 'last':
case 'lastfirst':
case 'legal':
$members->order_by('lastname', 'firstname');
break;
default:
$members->order_by('firstname', 'lastname');
}
$members = self::nsort($members);
$users=array();
foreach ($members as $M) {
......@@ -805,6 +796,23 @@ implements AuthenticatedUser, EmailContact, TemplateVariable {
return self::getStaffMembers(array('available'=>true));
}
static function nsort(QuerySet $qs, $path='', $format=null) {
global $cfg;
$format = $format ?: $cfg->getAgentNameFormat();
switch ($format) {
case 'last':
case 'lastfirst':
case 'legal':
$qs->order_by("{$path}lastname", "{$path}firstname");
break;
default:
$qs->order_by("${path}firstname", "${path}lastname");
}
return $qs;
}
static function getIdByUsername($username) {
$row = static::objects()->filter(array('username' => $username))
->values_flat('staff_id')->first();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment