# # priority-labels-rt3.0.11.patch # By Colin Henein, Parliant Corporation after Eric Berggren # Replaces numeric priorities with labels in rt3.2.2 # see http://www.parliant.com/~cmh/rt/ for details and instructions # diff -Naur rt3-dist/lib/RT/Ticket_Overlay.pm rt3/lib/RT/Ticket_Overlay.pm --- rt3-dist/lib/RT/Ticket_Overlay.pm Wed Apr 28 22:41:16 2004 +++ rt3/lib/RT/Ticket_Overlay.pm Sun Oct 3 15:38:21 2004 @@ -4090,6 +4090,56 @@ # }}} + + +=head2 PriorityAsString + + B String: Various Ticket Priorities as either a string or integer + +=cut + +sub PriorityAsString { + my $self=shift; + + unless ($self->CurrentUserHasRight('ShowTicket')) { + return undef; + } + return priorityString($self->Priority) +} +sub InitialPriorityAsString { + my $self=shift; + + unless ($self->CurrentUserHasRight('ShowTicket')) { + return undef; + } + return priorityString($self->InitialPriority) +} +sub FinalPriorityAsString { + my $self=shift; + + unless ($self->CurrentUserHasRight('ShowTicket')) { + return undef; + } + return priorityString($self->FinalPriority) +} + +sub priorityString { + my $priority=shift; + + if ( $RT::PriorityType ) { + foreach my $pridx ( @RT::PrioritySortedKeys ) { + if ( $priority >= $RT::PriorityLabels{ $pridx } ) { + return($pridx."/".$priority) if ( $RT::PriorityType != 1 ); + return($pridx); + } + } + return "unknown"; + } + return ($priority); +} + + + 1; =head1 AUTHOR diff -Naur rt3-dist/share/html/Elements/SelectPriority rt3/share/html/Elements/SelectPriority --- rt3-dist/share/html/Elements/SelectPriority Thu Jan 1 00:00:00 1970 +++ rt3/share/html/Elements/SelectPriority Sun Oct 3 18:43:05 2004 @@ -0,0 +1,34 @@ +%# + + +<%ARGS> +$Name => undef +$Default => undef + + +<%INIT> +my($priidx,$defprilabel,$defprivalue); +foreach $priidx (@RT::PrioritySortedKeys) { + if ( $Default >= $RT::PriorityLabels{$priidx}) { + # save current equivalent priority label + $defprilabel=$priidx; + # save current priority value to prevent tickets from having + # their priorities "snap"ed to closest level + $defprivalue=$Default; + last; + } +} + + diff -Naur rt3-dist/share/html/Search/Bulk.html rt3/share/html/Search/Bulk.html --- rt3-dist/share/html/Search/Bulk.html Sun Nov 16 07:26:32 2003 +++ rt3/share/html/Search/Bulk.html Sun Oct 3 17:55:04 2004 @@ -63,7 +63,11 @@ <%$Ticket->Id()%> % } %else { -<% eval "\$Ticket->$col()" %>  +% if (($col eq "Priority") && ($RT::PriorityType)) { + <%$Ticket->PriorityAsString()%> +% } else { + <% eval "\$Ticket->$col()" %>  +% } %} %} @@ -103,7 +107,11 @@ <&|/l&>Make subject: <&|/l&>Make priority: - +% if ($RT::PriorityType) { + <& /Elements/SelectPriority, Name => 'Priority', Default => 0 &> +% } else { + +% } <&|/l&>Make queue: <& /Elements/SelectQueue, Name => "Queue" &> <&|/l&>Make Status: diff -Naur rt3-dist/share/html/Search/Elements/PickRestriction rt3/share/html/Search/Elements/PickRestriction --- rt3-dist/share/html/Search/Elements/PickRestriction Wed May 12 06:46:25 2004 +++ rt3/share/html/Search/Elements/PickRestriction Sun Oct 3 17:59:50 2004 @@ -53,7 +53,11 @@
  • <&|/l&>Priority <& /Elements/SelectEqualityOperator, Name => "PriorityOp" &> - +% if ($RT::PriorityType) { + <& /Elements/SelectPriority, Name => 'ValueOfPriority' &> +% } else { + +% }
  • <& /Elements/SelectDateType, Name => 'DateType' &> diff -Naur rt3-dist/share/html/Search/Elements/TicketRow rt3/share/html/Search/Elements/TicketRow --- rt3-dist/share/html/Search/Elements/TicketRow Fri Jan 2 22:55:55 2004 +++ rt3/share/html/Search/Elements/TicketRow Sun Oct 3 17:44:34 2004 @@ -34,7 +34,7 @@ <%loc($Ticket->Status)%> <%$Ticket->QueueObj->Name%> <%$Ticket->Owner == $RT::Nobody->Id ? loc('Nobody') : $Ticket->OwnerObj->Name%> -<%$Ticket->Priority%> +<%$RT::PriorityType ? $Ticket->PriorityAsString() : $Ticket->Priority%> <& /Elements/ShadedBox, - title => loc('Priority'), - content => "Priority."\" SIZE=3>" &> - - - <& /Elements/ShadedBox, - title => loc('Final Priority'), - content => "FinalPriority."\" SIZE=3>" &> - - - <& /Elements/ShadedBox, title => loc('Queue'), content => "$SelectQueue" &> + + + + + +
    + <& /Elements/ShadedBox, + title => loc('Priority'), + content => $RT::PriorityType ? $SelectPriority : "Priority."\" SIZE=3>" &> + + <& /Elements/ShadedBox, + title => loc('Final Priority'), + content => $RT::PriorityType ? $SelectFinalPriority : "FinalPriority."\" SIZE=3>" &> +
    + <%INIT> #It's hard to do this inline, so we'll preload the html of the selectstatus in here. my $SelectStatus = $m->scomp("/Elements/SelectStatus", Name => 'Status', Default=> $TicketObj->Status); +my $SelectPriority = $m->scomp("/Elements/SelectPriority", Name => 'Priority', Default => $TicketObj->Priority); +my $SelectFinalPriority = $m->scomp("/Elements/SelectPriority", Name => 'FinalPriority', Default=> $TicketObj->FinalPriority); my $SelectQueue = $m->scomp("/Elements/SelectQueue", Name => 'Queue', Default =>$TicketObj->QueueObj->Id); diff -Naur rt3-dist/share/html/Ticket/Elements/ShowBasics rt3/share/html/Ticket/Elements/ShowBasics --- rt3-dist/share/html/Ticket/Elements/ShowBasics Sun Nov 16 07:21:25 2003 +++ rt3/share/html/Ticket/Elements/ShowBasics Sun Oct 3 16:54:22 2004 @@ -36,7 +36,11 @@ <&|/l&>Priority: - <%$Ticket->Priority%>/<%$Ticket->FinalPriority %> +% if ($RT::PriorityType == 0) { + <%$Ticket->Priority%>/<%$Ticket->FinalPriority %> +% } else { + <%$Ticket->PriorityAsString()%>/<%$Ticket->FinalPriorityAsString()%> +% } <&|/l&>Queue: