X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fsvc_forward.pm;h=1476dbf78cd30b87c2c1f9e61dce8ff77e57fd29;hb=381ea36d912fe0aec54918c03f3a88eacab64460;hp=9ff2b857a9b83a4cdf2ef0c24202ff8ea56f2fad;hpb=a9ec5a5c02a137cadd9f2a522fba904d945ddbe3;p=freeside.git diff --git a/FS/FS/svc_forward.pm b/FS/FS/svc_forward.pm index 9ff2b857a..1476dbf78 100644 --- a/FS/FS/svc_forward.pm +++ b/FS/FS/svc_forward.pm @@ -226,7 +226,7 @@ sub replace { unless $nossh_hack; } #end subroutinable bits - } + ''; } @@ -263,7 +263,7 @@ sub check { my $x = $self->setfixed; return $x unless ref($x); - my $part_svc = $x; + #my $part_svc = $x; my $error = $self->ut_numbern('svcnum') || $self->ut_number('srcsvc') @@ -271,8 +271,7 @@ sub check { ; return $error if $error; - return "Unknown srcsvc" - unless qsearchs('svc_acct', { 'svcnum' => $self->srcsvc } ); + return "Unknown srcsvc" unless $self->srcsvc_acct; return "Both dstsvc and dst were defined; one one can be specified" if $self->dstsvc && $self->dst; @@ -280,9 +279,7 @@ sub check { return "one of dstsvc or dst is required" unless $self->dstsvc || $self->dst; - return "Unknown dstsvc" - unless qsearchs('svc_acct', { 'svcnum' => $self->dstsvc } ) - || ! $self->dstsvc; + return "Unknown dstsvc" unless $self->dstsvc_acct || ! $self->dstsvc; if ( $self->dst ) { $self->dst =~ /^([\w\.\-]+)\@(([\w\-]+\.)+\w+)$/ @@ -295,11 +292,32 @@ sub check { ''; #no error } +=item srcsvc_acct + +Returns the FS::svc_acct object referenced by the srcsvc column. + +=cut + +sub srcsvc_acct { + my $self = shift; + qsearchs('svc_acct', { 'svcnum' => $self->srcsvc } ); +} + +=item dstsvc_acct + +Returns the FS::svc_acct object referenced by the srcsvc column, or false for +forwards not local to freeside. + =back +sub dstsvc_acct { + my $self = shift; + qsearchs('svc_acct', { 'svcnum' => $self->dstsvc } ); +} + =head1 VERSION -$Id: svc_forward.pm,v 1.5 2001-08-20 11:04:38 ivan Exp $ +$Id: svc_forward.pm,v 1.8 2001-10-29 20:53:38 ivan Exp $ =head1 BUGS