diff options
Diffstat (limited to 'FS')
| -rw-r--r-- | FS/FS/h_cust_svc.pm | 27 | ||||
| -rw-r--r-- | FS/FS/h_svc_forward.pm | 38 | ||||
| -rw-r--r-- | FS/FS/h_svc_www.pm | 2 | 
3 files changed, 46 insertions, 21 deletions
| diff --git a/FS/FS/h_cust_svc.pm b/FS/FS/h_cust_svc.pm index 0cbac4a18..dbb16a292 100644 --- a/FS/FS/h_cust_svc.pm +++ b/FS/FS/h_cust_svc.pm @@ -9,7 +9,7 @@ use FS::cust_svc;  @ISA = qw( FS::h_Common FS::cust_svc ); -$DEBUG = 0; +$DEBUG = 1;  sub table { 'h_cust_svc'; } @@ -73,16 +73,21 @@ cancelled before START_TIMESTAMP.  sub h_svc_x {    my $self = shift;    my $svcdb = $self->part_svc->svcdb; -  #if ( $svcdb eq 'svc_acct' && $self->{'_svc_acct'} ) { -  #  $self->{'_svc_acct'}; -  #} else { -    warn "requiring FS/h_$svcdb.pm" if $DEBUG; -    require "FS/h_$svcdb.pm"; -    qsearchs( "h_$svcdb", -              { 'svcnum'       => $self->svcnum, }, -              "FS::h_$svcdb"->sql_h_searchs(@_), -            ); -  #} + +  warn "requiring FS/h_$svcdb.pm" if $DEBUG; +  require "FS/h_$svcdb.pm"; +  my $svc_x = qsearchs( +    "h_$svcdb", +    { 'svcnum' => $self->svcnum, }, +    "FS::h_$svcdb"->sql_h_searchs(@_), +  ) || $self->SUPER::svc_x +    or die "no history ${svcdb}.svcnum for cust_svc.svcnum ". $self->svcnum; + +  carp "Using $svcdb in place of missing h_${svcdb} record." +   if ($svc_x->isa('FS::' . $svcdb) and $DEBUG); + +  return $svc_x; +  }  =back diff --git a/FS/FS/h_svc_forward.pm b/FS/FS/h_svc_forward.pm index 3f9fee29e..92b2e5d7b 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 diff --git a/FS/FS/h_svc_www.pm b/FS/FS/h_svc_www.pm index 7931061f9..2a3b6dca6 100644 --- a/FS/FS/h_svc_www.pm +++ b/FS/FS/h_svc_www.pm @@ -40,7 +40,7 @@ sub domain_record {    ) || $self->SUPER::domain_record      or die "no history domain_record.recnum for svc_www.recnum ". $self->domsvc; -  carp 'Using FS::svc_acct record in place of missing FS::h_svc_acct record.' +  carp 'Using domain_record in place of missing h_domain_record record.'      if ($domain_record->isa('FS::domain_record') and $DEBUG);    return $domain_record; | 
