X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FElements%2FShowLink;h=3a0fc381a6adc923550cde3a5d1d589e76ec3907;hb=44dd00a3ff974a17999e86e64488e996edc71e3c;hp=0bd0019a3bcb020f2e08b8c6bd979c9934a9035b;hpb=0fb307c305e4bc2c9c27dc25a3308beae3a4d33c;p=freeside.git diff --git a/rt/share/html/Elements/ShowLink b/rt/share/html/Elements/ShowLink index 0bd0019a3..3a0fc381a 100644 --- a/rt/share/html/Elements/ShowLink +++ b/rt/share/html/Elements/ShowLink @@ -2,7 +2,7 @@ %# %# COPYRIGHT: %# -%# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +%# This software is Copyright (c) 1996-2019 Best Practical Solutions, LLC %# %# %# (Except where explicitly superseded by other copyright notices) @@ -45,25 +45,29 @@ %# those contributions and any derivatives thereof. %# %# END BPS TAGGED BLOCK }}} - -% if ($URI->IsLocal) { % my $member = $URI->Object; -% if (UNIVERSAL::isa($member, "RT::Ticket")) { -% my $inactive = $member->QueueObj->IsInactiveStatus($member->Status); +% if (blessed($member) and $member->isa("RT::Ticket") and $member->CurrentUserHasRight('ShowTicket')) { +% my $class = $member->QueueObj->IsInactiveStatus($member->Status) +% ? 'ticket-inactive' +% : 'ticket-active'; +% $class .= ' '.CSSClass($member->Status); - -<%$member->Id%>: (<& /Elements/ShowUser, User => $member->OwnerObj &>) <%$member->Subject%> [<% loc($member->Status) %>] + +<%$member->Id%>: <%$member->Subject || ''%> [<% loc($member->Status) %>] (<& /Elements/ShowUser, User => $member->OwnerObj &>) -% } elsif ( UNIVERSAL::can($member, 'Name')) { -<%$URI->Resolver->AsString%>: <%$member->Name%> % } else { -<%$URI->Resolver->AsString%> +<%$URI->AsString%> % } -% } else { -<%$URI->Resolver->AsString%> -% } - <%ARGS> $URI => undef + +<%INIT> +my $href = $URI->AsHREF; +if ( $URI->IsLocal ) { + my $base = RT->Config->Get('WebBaseURL'); + # URI->rel doesn't contain the leading '/' + $href = '/' . URI->new($href)->rel($base); +} +