summaryrefslogtreecommitdiff
path: root/FS/FS/h_svc_forward.pm
diff options
context:
space:
mode:
authorkhoff <khoff>2005-04-07 03:28:20 +0000
committerkhoff <khoff>2005-04-07 03:28:20 +0000
commit60e238561db85ef177934640caab3c02694afb3f (patch)
treec8bd81a2a5ae9f6ccbd2cd538b411baa2154ad23 /FS/FS/h_svc_forward.pm
parentdfd4f9377b21a5eab563e1739f296e04668ce6ca (diff)
Using current (non-history) records in place of missing history records.
Diffstat (limited to 'FS/FS/h_svc_forward.pm')
-rw-r--r--FS/FS/h_svc_forward.pm38
1 files changed, 29 insertions, 9 deletions
diff --git a/FS/FS/h_svc_forward.pm b/FS/FS/h_svc_forward.pm
index 3f9fee2..92b2e5d 100644
--- a/FS/FS/h_svc_forward.pm
+++ b/FS/FS/h_svc_forward.pm
@@ -1,12 +1,17 @@
package FS::h_svc_forward;
use strict;
-use vars qw( @ISA );
+use vars qw( @ISA $DEBUG );
use FS::Record qw(qsearchs);
use FS::h_Common;
use FS::svc_forward;
+use FS::svc_acct;
use FS::h_svc_acct;
+use Carp qw(carp);
+
+$DEBUG = 1;
+
@ISA = qw( FS::h_Common FS::svc_forward );
sub table { 'h_svc_forward' };
@@ -27,10 +32,18 @@ FS::h_svc_forward - Historical mail forwarding alias objects
sub srcsvc_acct {
my $self = shift;
- qsearchs( 'h_svc_acct',
- { 'svcnum' => $self->srcsvc },
- FS::h_svc_acct->sql_h_searchs(@_),
- );
+ my $h_svc_acct = qsearchs(
+ 'h_svc_acct',
+ { 'svcnum' => $self->srcsvc },
+ FS::h_svc_acct->sql_h_searchs(@_),
+ ) || $self->SUPER::srcsvc_acct
+ or die "no history svc_acct.svcnum for svc_forward.srcsvc ". $self->srcsvc;
+
+ carp 'Using svc_acct in place of missing h_svc_acct record.'
+ if ($h_svc_acct->isa('FS::domain_record') and $DEBUG);
+
+ return $h_svc_acct;
+
}
=item dstsvc_acct
@@ -39,10 +52,17 @@ sub srcsvc_acct {
sub dstsvc_acct {
my $self = shift;
- qsearchs( 'h_svc_acct',
- { 'svcnum' => $self->dstsvc },
- FS::h_svc_acct->sql_h_searchs(@_),
- );
+ my $h_svc_acct = qsearchs(
+ 'h_svc_acct',
+ { 'svcnum' => $self->dstsvc },
+ FS::h_svc_acct->sql_h_searchs(@_),
+ ) || $self->SUPER::dstsvc_acct
+ or die "no history svc_acct.svcnum for svc_forward.dstsvc ". $self->dstsvc;
+
+ carp 'Using svc_acct in place of missing h_svc_acct record.'
+ if ($h_svc_acct->isa('FS::domain_record') and $DEBUG);
+
+ return $h_svc_acct;
}
=back