diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-08-25 15:06:19 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-08-25 15:06:19 -0700 |
commit | cbfeb5f6b7490f78361318ce6290bfb442dbfcbe (patch) | |
tree | e6409692bc2376649eeda94344f0a7f578a75428 /rt/lib/RT/Link.pm | |
parent | 8ffd7de981603a189cd0ea62ca948eaf3f66ca49 (diff) | |
parent | 5b5eb87bf66f1fac003a13dc2db48e8970c5c986 (diff) |
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'rt/lib/RT/Link.pm')
-rw-r--r-- | rt/lib/RT/Link.pm | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/rt/lib/RT/Link.pm b/rt/lib/RT/Link.pm index 0dadc3be8..3160d24fb 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-2017 Best Practical Solutions, LLC # <sales@bestpractical.com> # # (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; } |