X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=FS%2FFS%2Fh_svc_acct.pm;h=247d20c9a4eec3a0f7a63d38dd403ec97da5b481;hp=cd98dd40e18216ca62b2883b1914680a2daad93e;hb=aed8ec35ccb9cdeb7ea0cb6ff2946f9d83d582f6;hpb=f7afca1829f8496509d10806439c37fcc1349135 diff --git a/FS/FS/h_svc_acct.pm b/FS/FS/h_svc_acct.pm index cd98dd40e..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 @@ -29,10 +33,31 @@ sub svc_domain { my $self = shift; qsearchs( 'h_svc_domain', { 'svcnum' => $self->domsvc }, - FS::h_svc_domain->sql_h_search(@_), + FS::h_svc_domain->sql_h_searchs(@_), ); } +=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