X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=rt%2Flib%2FRT%2FLink.pm;h=aadb106bc87129bc46407a727049c0ff806f7568;hb=44dd00a3ff974a17999e86e64488e996edc71e3c;hp=0dadc3be8cc5250b7fbd47f161cca51969ee8c07;hpb=7322f2afedcc2f427e997d1535a503613a83f088;p=freeside.git diff --git a/rt/lib/RT/Link.pm b/rt/lib/RT/Link.pm index 0dadc3be8..aadb106bc 100644 --- a/rt/lib/RT/Link.pm +++ b/rt/lib/RT/Link.pm @@ -2,7 +2,7 @@ # # COPYRIGHT: # -# This software is Copyright (c) 1996-2016 Best Practical Solutions, LLC +# This software is Copyright (c) 1996-2019 Best Practical Solutions, LLC # # # (Except where explicitly superseded by other copyright notices) @@ -558,6 +558,27 @@ sub Serialize { delete $store{LocalBase} if $store{Base}; delete $store{LocalTarget} if $store{Target}; + + for my $dir (qw/Base Target/) { + my $uri = $self->${\($dir.'URI')}; + my $object = $self->${\($dir.'Obj')}; + + if ($uri->IsLocal) { + if ($args{serializer}->Observe(object => $object)) { + # no action needed; the object is being migrated + } + elsif ($args{serializer}{HyperlinkUnmigrated}) { + # object is not being migrated; hyperlinkify + $store{$dir} = $uri->AsHREF; + } + else { + # object is not being migrated and hyperlinks not desired, + # so drop this RT::Link altogether + return; + } + } + } + return %store; }