X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;ds=sidebyside;f=rt%2Flib%2FRT%2FURI%2Ffsck_com_rt.pm;h=0c9bbb559642085ad6549930d9fe17190cbae0c7;hb=187086c479a09629b7d180eec513fb7657f4e291;hp=aa0b4e0d756de58cb55f9c33a01561959d25d678;hpb=75162bb14b3e38d66617077843f4dfdcaf09d5c4;p=freeside.git diff --git a/rt/lib/RT/URI/fsck_com_rt.pm b/rt/lib/RT/URI/fsck_com_rt.pm index aa0b4e0d7..0c9bbb559 100644 --- a/rt/lib/RT/URI/fsck_com_rt.pm +++ b/rt/lib/RT/URI/fsck_com_rt.pm @@ -2,7 +2,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2018 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) @@ -209,14 +209,26 @@ sub HREF { =head2 AsString -Returns either a localized string 'ticket #23' or the full URI if the object is not local +Returns either a localized string C<#23: Subject> for tickets, C for other object types (not really used), or the full URI if the object +is not local. =cut sub AsString { my $self = shift; - if ($self->IsLocal && $self->Object) { - return $self->loc("[_1] #[_2]", $self->ObjectType, $self->Object->Id); + if ($self->IsLocal && ( my $object = $self->Object )) { + if ($object->isa('RT::Ticket')) { + return $self->loc("#[_1]: [_2]", $object->Id, $object->Subject || ''); + } else { + my $name = $object->_Accessible('Name', 'read') ? $object->Name : undef; + + if ( defined $name and length $name ) { + return $self->loc("[_1] #[_2]: [_3]", $self->ObjectType, $object->Id, $name); + } else { + return $self->loc("[_1] #[_2]", $self->ObjectType, $object->Id); + } + } } else { return $self->URI;