--- share/html/Elements/RT__Ticket/ColumnMap +++ share/html/Elements/RT__Ticket/ColumnMap @@ -158,17 +158,17 @@ }, Priority => { attribute => 'Priority', - value => sub { return $_[0]->Priority } + value => sub { return $RT::PriorityType?$_[0]->PriorityAsString() : $_[0]->Priority } }, InitialPriority => { attribute => 'InitialPriority', name => 'Initial Priority', - value => sub { return $_[0]->InitialPriority } + value => sub { return $RT::PriorityType?$_[0]->InitialPriorityAsString(): $_[0]->InitialPriority } }, FinalPriority => { attribute => 'FinalPriority', name => 'Final Priority', - value => sub { return $_[0]->FinalPriority } + value => sub { return $RT::PriorityType?$_[0]->FinalPriorityAsString():$_[0]->FinalPriority } }, EffectiveId => { attribute => 'EffectiveId', --- share/html/Elements/SelectPriority +++ share/html/Elements/SelectPriority @@ -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; + } +} + + --- share/html/Search/Bulk.html +++ share/html/Search/Bulk.html @@ -100,7 +100,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: --- share/html/Search/Elements/PickBasics +++ share/html/Search/Elements/PickBasics @@ -151,7 +151,11 @@ <& /Elements/SelectEqualityOperator, Name => "PriorityOp" &> - +% if ($RT::PriorityType) { + <&/Elements/SelectPriority, Name=>"ValueOfPriority" &> +% } else { + +% } --- share/html/Ticket/Create.html +++ share/html/Ticket/Create.html @@ -177,8 +177,16 @@ title_class=> 'inverse', color => "#993333" &> +% if ($RT::PriorityType) { + +%} else { +%} +% if ($RT::PriorityType) { + +%} else { +%}
<&|/l&>Priority:<&/Elements/SelectPriority, name=>"InitialPriority", default=> $ARGS{InitialPriority}?$ARGS{InitialPriority} :$QueueObj->InitialPriority &>
<&|/l&>Priority:
<&|/l&>Final Priority:<&/Elements/SelectPriority, name=>"FinalPriority", default=> $ARGS{FinalPriority}?$ARGS{FinalPriority} :$QueueObj->FinalPriority &>
<&|/l&>Final Priority:
<&|/l&>Time Estimated: @@ -200,7 +208,7 @@
<&|/Widgets/TitleBox, title => loc("Dates"), - title_class=> 'inverse', + Title_class=> 'inverse', color => "#663366" &> --- share/html/Ticket/Elements/EditBasics +++ share/html/Ticket/Elements/EditBasics @@ -85,12 +85,20 @@ +% if ($RT::PriorityType) { + +% } else { +% } +% if ($RT::PriorityType) { + +% } else { +% } --- share/html/Ticket/Elements/ShowBasics +++ share/html/Ticket/Elements/ShowBasics @@ -70,7 +70,11 @@ +% if ($RT::PriorityType) { + +% } else { +% } --- lib/RT/Ticket_Overlay.pm +++ lib/RT/Ticket_Overlay.pm @@ -3770,6 +3770,56 @@ "RT::Queue-RT::Ticket"; } + + +=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
<&|/l&>Priority:<&/Elements/SelectPriority, name=>"Priority", default=>$TicketObj->Priority &>
<&|/l&>Final Priority:<&/Elements/SelectPriority, name=>"FinalPriority", default=>$TicketObj->FinalPriority &>
<&|/l&>Priority:<%$Ticket->PriorityAsString()%>/<%$Ticket->FinalPriorityAsString()%><%$Ticket->Priority%>/<%$Ticket->FinalPriority %>
<&|/l&>Queue: