X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fh_svc_acct.pm;h=247d20c9a4eec3a0f7a63d38dd403ec97da5b481;hp=95c5c413a76b61d38f47a4490f3eae6bbca57b5c;hb=aed8ec35ccb9cdeb7ea0cb6ff2946f9d83d582f6;hpb=8f11e2a03067829dc5f8cd6ae7fa0e3f249d61c1 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