X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FTicket%2FElements%2FShowDates;h=816b5cbaf0f474269123e0f9dc4d53410b57edf9;hb=de9d037528895f7151a9aead6724ce2df95f9586;hp=fc014619466397b54d2f0528315a357d26b19339;hpb=4c8c18409f82d56320a80f6c94f275fa15486897;p=freeside.git diff --git a/rt/share/html/Ticket/Elements/ShowDates b/rt/share/html/Ticket/Elements/ShowDates index fc0146194..816b5cbaf 100755 --- a/rt/share/html/Ticket/Elements/ShowDates +++ b/rt/share/html/Ticket/Elements/ShowDates @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2017 Best Practical Solutions, LLC %# <sales@bestpractical.com> %# %# (Except where explicitly superseded by other copyright notices) @@ -46,35 +46,41 @@ %# %# END BPS TAGGED BLOCK }}} <table> - <tr> - <td class="label date created"><&|/l&>Created</&>:</td> - <td class="value date created"><% $Ticket->CreatedObj->AsString %></td> + <tr class="date created"> + <td class="label"><&|/l&>Created</&>:</td>\ + <td class="value"><% $Ticket->CreatedObj->AsString %></td> </tr> - <tr> - <td class="label date starts"><&|/l&>Starts</&>:</td> - <td class="value date starts"><% $Ticket->StartsObj->AsString %></td> +% $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> - <tr> - <td class="label date started"><&|/l&>Started</&>:</td> - <td class="value date started"><% $Ticket->StartedObj->AsString %></td> +% $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> - <tr> - <td class="label date told"><a href="<% RT->Config->Get('WebPath') %>/Ticket/Display.html?id=<% $Ticket->id %>&Action=SetTold"><&|/l&>Last Contact</&></a>:</td> - <td class="value date told"><% $Ticket->ToldObj->AsString %></td> +% $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> - <tr> - <td class="label date due"><&|/l&>Due</&>:</td> +% $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 ) { - <td class="value date due"><span class="overdue"><% $due->AsString %></span></td> +% 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 date due"><% $due->AsString %></td> + <td class="value"><% $due->AsString %></td> % } </tr> - <tr> - <td class="label date resolved"><&|/l&>Closed</&>:</td> - <td class="value date resolved"><% $Ticket->ResolvedObj->AsString %></td> +% $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> @@ -82,18 +88,36 @@ <td class="value date willresolve"><% $willresolve->AsString %></td> </tr> % } # else don't display either of them - <tr> - <td class="label date updated"><&|/l&>Updated</&>:</td> + <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 date updated"><a href="#lasttrans"><% $UpdatedString |n%></a></td> + <td class="value"><a href="<% $UpdatedLink %>"><% $UpdatedString | n %></a></td> % } else { - <td class="value date updated"><% $UpdatedString |n%></td> + <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>