X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Fshare%2Fhtml%2FElements%2FShowLink;h=46930348c2fcbe4c039b85a10450064dfe0d59c0;hb=01721976fa3324f41a3093cda68bc38a7eec5ff5;hp=0bd0019a3bcb020f2e08b8c6bd979c9934a9035b;hpb=fc6209f398899f0211cfcedeb81a3cd65e04a941;p=freeside.git diff --git a/rt/share/html/Elements/ShowLink b/rt/share/html/Elements/ShowLink index 0bd0019a3..46930348c 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-2017 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); +} +