X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fcust_bill_pkg.pm;h=7d5094ced8ea04b1103f299d463cd7acb531597d;hb=40a7b3dc653e099f7bd0bd762b649b04c4432db2;hp=d3bdfd12ab541c6723ae30d773e535b24491cca5;hpb=2d0724a44131e2c9394ba1d7b3f2a8ac6e747ad0;p=freeside.git diff --git a/FS/FS/cust_bill_pkg.pm b/FS/FS/cust_bill_pkg.pm index d3bdfd12a..7d5094ced 100644 --- a/FS/FS/cust_bill_pkg.pm +++ b/FS/FS/cust_bill_pkg.pm @@ -2,6 +2,7 @@ package FS::cust_bill_pkg; use strict; use vars qw( @ISA $DEBUG $me ); +use Carp; use FS::Record qw( qsearch qsearchs dbdef dbh ); use FS::cust_main_Mixin; use FS::cust_pkg; @@ -18,7 +19,7 @@ use FS::cust_tax_adjustment; @ISA = qw( FS::cust_main_Mixin FS::Record ); -$DEBUG = 2; +$DEBUG = 0; $me = '[FS::cust_bill_pkg]'; =head1 NAME @@ -151,6 +152,8 @@ sub insert { 'amount' => (ref($detail) ? $detail->[2] : '' ), 'classnum' => (ref($detail) ? $detail->[3] : '' ), 'phonenum' => (ref($detail) ? $detail->[4] : '' ), + 'duration' => (ref($detail) ? $detail->[5] : '' ), + 'regionname' => (ref($detail) ? $detail->[6] : '' ), }; $error = $cust_bill_pkg_detail->insert; if ( $error ) { @@ -342,7 +345,7 @@ Returns the package (see L) for this invoice line item. sub cust_pkg { my $self = shift; - #warn "$me $self -> cust_pkg"; #carp? + carp "$me $self -> cust_pkg" if $DEBUG; qsearchs( 'cust_pkg', { 'pkgnum' => $self->pkgnum } ); } @@ -626,8 +629,9 @@ sub disintegrate { } #split usage from recur - my $usage = sprintf( "%.2f", $cust_bill_pkg{recur}->usage ); - warn "usage is $usage\n" if $DEBUG; + my $usage = sprintf( "%.2f", $cust_bill_pkg{recur}->usage ) + if exists($cust_bill_pkg{recur}); + warn "usage is $usage\n" if $DEBUG > 1; if ($usage) { my $cust_bill_pkg_usage = new FS::cust_bill_pkg { $cust_bill_pkg{recur}->hash }; @@ -779,6 +783,43 @@ sub _cust_tax_exempt_pkg { } +=item cust_bill_pkg_tax_Xlocation + +Returns the list of associated cust_bill_pkg_tax_location and/or +cust_bill_pkg_tax_rate_location objects + +=cut + +sub cust_bill_pkg_tax_Xlocation { + my $self = shift; + + my %hash = ( 'billpkgnum' => $self->billpkgnum ); + + ( + qsearch ( 'cust_bill_pkg_tax_location', { %hash } ), + qsearch ( 'cust_bill_pkg_tax_rate_location', { %hash } ) + ); + +} + +=item cust_bill_pkg_detail [ CLASSNUM ] + +Returns the list of associated cust_bill_pkg_detail objects +The optional CLASSNUM argument will limit the details to the specified usage +class. + +=cut + +sub cust_bill_pkg_detail { + my $self = shift; + my $classnum = shift || ''; + + my %hash = ( 'billpkgnum' => $self->billpkgnum ); + $hash{classnum} = $classnum if $classnum; + + qsearch ( 'cust_bill_pkg_detail', { %hash } ), + +} =back