diff options
Diffstat (limited to 'rt/share/html/Ticket/Elements/ShowDates')
-rwxr-xr-x | rt/share/html/Ticket/Elements/ShowDates | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/rt/share/html/Ticket/Elements/ShowDates b/rt/share/html/Ticket/Elements/ShowDates index 9a6e32307..24e88e2e7 100755 --- a/rt/share/html/Ticket/Elements/ShowDates +++ b/rt/share/html/Ticket/Elements/ShowDates @@ -50,49 +50,74 @@ <td class="label"><&|/l&>Created</&>:</td>\ <td class="value"><% $Ticket->CreatedObj->AsString %></td> </tr> +% $m->callback( %ARGS, CallbackName => 'AfterCreated', TicketObj => $Ticket ); <tr class="date starts"> <td class="label"><&|/l&>Starts</&>:</td>\ <td class="value"><% $Ticket->StartsObj->AsString %></td> </tr> +% $m->callback( %ARGS, CallbackName => 'AfterStarts', TicketObj => $Ticket ); <tr class="date started"> <td class="label"><&|/l&>Started</&>:</td>\ <td class="value"><% $Ticket->StartedObj->AsString %></td> </tr> +% $m->callback( %ARGS, CallbackName => 'AfterStarted', TicketObj => $Ticket ); <tr class="date told"> <td class="label"><a href="<% RT->Config->Get('WebPath') %>/Ticket/Display.html?id=<% $Ticket->id %>&Action=SetTold"><&|/l&>Last Contact</&></a>:</td>\ <td class="value"><% $Ticket->ToldObj->AsString %></td> </tr> +% $m->callback( %ARGS, CallbackName => 'AfterTold', TicketObj => $Ticket ); <tr class="date due"> <td class="label"><&|/l&>Due</&>:</td>\ % my $due = $Ticket->DueObj; -% if ( $due && $due->Unix > 0 && $due->Diff < 0 ) { +% if ( $due && $due->IsSet && $due->Diff < 0 && $Ticket->QueueObj->IsActiveStatus($Ticket->Status) ) { <td class="value"><span class="overdue"><% $due->AsString %></span></td> % } else { <td class="value"><% $due->AsString %></td> % } </tr> +% $m->callback( %ARGS, CallbackName => 'AfterDue', TicketObj => $Ticket ); <tr class="date resolved"> <td class="label"><&|/l&>Resolved</&>:</td>\ <td class="value"><% $Ticket->ResolvedObj->AsString %></td> </tr> +% $m->callback( %ARGS, CallbackName => 'AfterResolved', TicketObj => $Ticket ); % my $willresolve = $Ticket->WillResolveObj; % if ( $willresolve && $willresolve->Unix > 0 ) { <tr> <td class="label date willresolve"><&|/l&>Will Resolve</&>:</td> <td class="value date willresolve"><% $willresolve->AsString %></td> </tr> -% } # else don't display either of them <tr class="date updated"> +% } # else don't display either of them + <tr class="date updated"> <td class="label"><&|/l&>Updated</&>:</td>\ % my $UpdatedString = $Ticket->LastUpdated ? loc("[_1] by [_2]", $Ticket->LastUpdatedAsString, $m->scomp('/Elements/ShowUser', User => $Ticket->LastUpdatedByObj)) : loc("Never"); % if ($UpdatedLink) { - <td class="value"><a href="#lasttrans"><% $UpdatedString | n %></a></td> + <td class="value"><a href="<% $UpdatedLink %>"><% $UpdatedString | n %></a></td> % } else { <td class="value"><% $UpdatedString | n %></td> % } </tr> +% $m->callback( %ARGS, CallbackName => 'AfterUpdated', TicketObj => $Ticket ); + <& /Ticket/Elements/ShowCustomFields, Ticket => $Ticket, Grouping => 'Dates', Table => 0 &> % $m->callback( %ARGS, CallbackName => 'EndOfList', TicketObj => $Ticket ); </table> <%ARGS> $Ticket => undef $UpdatedLink => 1 </%ARGS> +<%INIT> +if ($UpdatedLink and $Ticket) { + my $txns = $Ticket->Transactions; + $txns->OrderByCols( + { FIELD => "Created", ORDER => "DESC" }, + { FIELD => "id", ORDER => "DESC" }, + ); + $txns->RowsPerPage(1); + + if (my $latest = $txns->First) { + $UpdatedLink = "#txn-" . $latest->id; + } else { + undef $UpdatedLink; + } +} +</%INIT> |