summaryrefslogtreecommitdiff
path: root/httemplate
diff options
context:
space:
mode:
authormark <mark>2011-08-24 21:00:59 +0000
committermark <mark>2011-08-24 21:00:59 +0000
commitdfba562ff61f541ba7c75f2c02b32951b73aa002 (patch)
treec93608862b0b676e4a5123367f3becb8d73226f1 /httemplate
parentab8aef9ec21df4b149f39cd24c9c5f3542dd2e3e (diff)
selfservice priority sort order, #14029
Diffstat (limited to 'httemplate')
-rw-r--r--httemplate/view/cust_main/tickets.html17
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;
}