summaryrefslogtreecommitdiff
path: root/rt/lib/RT/Link.pm
diff options
context:
space:
mode:
Diffstat (limited to 'rt/lib/RT/Link.pm')
-rw-r--r--rt/lib/RT/Link.pm45
1 files changed, 14 insertions, 31 deletions
diff --git a/rt/lib/RT/Link.pm b/rt/lib/RT/Link.pm
index b26f5643c..7a277473f 100644
--- a/rt/lib/RT/Link.pm
+++ b/rt/lib/RT/Link.pm
@@ -2,7 +2,7 @@
#
# COPYRIGHT:
#
-# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC
+# This software is Copyright (c) 1996-2013 Best Practical Solutions, LLC
# <sales@bestpractical.com>
#
# (Except where explicitly superseded by other copyright notices)
@@ -96,33 +96,17 @@ sub Create {
@_ );
my $base = RT::URI->new( $self->CurrentUser );
- $base->FromURI( $args{'Base'} );
-
- unless ( $base->Resolver && $base->Scheme ) {
- my $msg = $self->loc("Couldn't resolve base '[_1]' into a URI.",
- $args{'Base'});
+ unless ($base->FromURI( $args{'Base'} )) {
+ my $msg = $self->loc("Couldn't resolve base '[_1]' into a URI.", $args{'Base'});
$RT::Logger->warning( "$self $msg" );
-
- if (wantarray) {
- return(undef, $msg);
- } else {
- return (undef);
- }
+ return wantarray ? (undef, $msg) : undef;
}
my $target = RT::URI->new( $self->CurrentUser );
- $target->FromURI( $args{'Target'} );
-
- unless ( $target->Resolver ) {
- my $msg = $self->loc("Couldn't resolve target '[_1]' into a URI.",
- $args{'Target'});
+ unless ($target->FromURI( $args{'Target'} )) {
+ my $msg = $self->loc("Couldn't resolve target '[_1]' into a URI.", $args{'Target'});
$RT::Logger->warning( "$self $msg" );
-
- if (wantarray) {
- return(undef, $msg);
- } else {
- return (undef);
- }
+ return wantarray ? (undef, $msg) : undef;
}
my $base_id = 0;
@@ -186,22 +170,21 @@ sub LoadByParams {
@_ );
my $base = RT::URI->new($self->CurrentUser);
- $base->FromURI( $args{'Base'} );
+ $base->FromURI( $args{'Base'} )
+ or return (0, $self->loc("Couldn't parse Base URI: [_1]", $args{Base}));
my $target = RT::URI->new($self->CurrentUser);
- $target->FromURI( $args{'Target'} );
-
- unless ($base->Resolver && $target->Resolver) {
- return ( 0, $self->loc("Couldn't load link") );
- }
-
+ $target->FromURI( $args{'Target'} )
+ or return (0, $self->loc("Couldn't parse Target URI: [_1]", $args{Target}));
my ( $id, $msg ) = $self->LoadByCols( Base => $base->URI,
Type => $args{'Type'},
Target => $target->URI );
unless ($id) {
- return ( 0, $self->loc("Couldn't load link") );
+ return ( 0, $self->loc("Couldn't load link: [_1]", $msg) );
+ } else {
+ return ($id, $msg);
}
}