diff options
author | khoff <khoff> | 2005-04-01 22:52:11 +0000 |
---|---|---|
committer | khoff <khoff> | 2005-04-01 22:52:11 +0000 |
commit | 29c80b06fd677d43ff94d4503bb577107c71882e (patch) | |
tree | 9ae1084150e5a15712a51db67400146f17feeb7e /FS/FS/h_svc_acct.pm | |
parent | 40861f48bd2987133783f6b086adb1988f9872be (diff) |
Trap, and attempt to resolve, problems caused by missing history records.
Diffstat (limited to 'FS/FS/h_svc_acct.pm')
-rw-r--r-- | FS/FS/h_svc_acct.pm | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/FS/FS/h_svc_acct.pm b/FS/FS/h_svc_acct.pm index 95c5c413a..247d20c9a 100644 --- a/FS/FS/h_svc_acct.pm +++ b/FS/FS/h_svc_acct.pm @@ -1,14 +1,18 @@ package FS::h_svc_acct; use strict; -use vars qw( @ISA ); +use vars qw( @ISA $DEBUG ); +use Carp qw(carp); use FS::Record qw(qsearchs); use FS::h_Common; use FS::svc_acct; +use FS::svc_domain; use FS::h_svc_domain; @ISA = qw( FS::h_Common FS::svc_acct ); +$DEBUG = 0; + sub table { 'h_svc_acct' }; =head1 NAME @@ -33,6 +37,27 @@ sub svc_domain { ); } +=item domain + +Returns the domain associated with this account. + +=cut + +sub domain { + my $self = shift; + die "svc_acct.domsvc is null for svcnum ". $self->svcnum unless $self->domsvc; + + my $svc_domain = $self->svc_domain(@_) || $self->SUPER::svc_domain() + or die 'no history svc_domain.svcnum for svc_acct.domsvc ' . $self->domsvc; + + carp 'Using FS::svc_acct record in place of missing FS::h_svc_acct record.' + if ($svc_domain->isa('FS::svc_acct') and $DEBUG); + + $svc_domain->domain; + +} + + =back =head1 DESCRIPTION |