diff options
| author | mark <mark> | 2011-08-24 21:00:59 +0000 |
|---|---|---|
| committer | mark <mark> | 2011-08-24 21:00:59 +0000 |
| commit | dfba562ff61f541ba7c75f2c02b32951b73aa002 (patch) | |
| tree | c93608862b0b676e4a5123367f3becb8d73226f1 /httemplate | |
| parent | ab8aef9ec21df4b149f39cd24c9c5f3542dd2e3e (diff) | |
selfservice priority sort order, #14029
Diffstat (limited to 'httemplate')
| -rw-r--r-- | httemplate/view/cust_main/tickets.html | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/httemplate/view/cust_main/tickets.html b/httemplate/view/cust_main/tickets.html index 863c66be4..adfaead6e 100644 --- a/httemplate/view/cust_main/tickets.html +++ b/httemplate/view/cust_main/tickets.html @@ -133,11 +133,22 @@ my $new_link = FS::TicketSystem->href_new_ticket( $cust_main ); my $ss_priority = FS::TicketSystem->selfservice_priority; if ( $ss_priority ) { + my $dir = $conf->exists('ticket_system-priority_reverse') ? -1 : 1; use sort 'stable'; - no warnings 'uninitialized'; + # sort in the following way: @tickets = sort { - ($b->{'content'} eq $a->{'content'}) && - $b->{'_selfservice_priority'} <=> $a->{'_selfservice_priority'} + # within a severity level... + ( $a->{'content'} eq $b->{'content'} ) ? ( + # no-priority tickets sort last + ( + ($a->{'_selfservice_priority'} eq '') <=> + ($b->{'_selfservice_priority'} eq '') + ) || + # otherwise obey ticket_system-priority_reverse + ( $dir * + ($b->{'_selfservice_priority'} <=> $a->{'_selfservice_priority'}) + ) + ) : 0; # but don't rearrange between severity levels } @tickets; } |
