package FS::cust_bill_pkg_tax_location;
+use base qw( FS::Record );
use strict;
-use base qw( FS::Record );
-use FS::Record qw( qsearch qsearchs );
+use List::Util qw(sum min);
+use FS::Record qw( dbh qsearch qsearchs );
use FS::cust_bill_pkg;
use FS::cust_pkg;
-use FS::cust_location;
use FS::cust_bill_pay_pkg;
use FS::cust_credit_bill_pkg;
use FS::cust_main_county;
use FS::Log;
-use List::Util qw(sum min);
-
=head1 NAME
FS::cust_bill_pkg_tax_location - Object methods for cust_bill_pkg_tax_location records
|| $self->ut_foreign_key('billpkgnum', 'cust_bill_pkg', 'billpkgnum' )
|| $self->ut_number('taxnum') #cust_bill_pkg/tax_rate key, based on taxtype
|| $self->ut_enum('taxtype', [ qw( FS::cust_main_county FS::tax_rate ) ] )
- || $self->ut_foreign_key('pkgnum', 'cust_pkg', 'pkgnum' )
+ || $self->ut_number('pkgnum', 'cust_pkg', 'pkgnum' )
|| $self->ut_foreign_key('locationnum', 'cust_location', 'locationnum' )
|| $self->ut_money('amount')
|| $self->ut_foreign_key('taxable_billpkgnum', 'cust_bill_pkg', 'billpkgnum')
Returns the associated cust_bill_pkg object (i.e. the tax charge).
-=cut
-
-sub cust_bill_pkg {
- my $self = shift;
- qsearchs( 'cust_bill_pkg', { 'billpkgnum' => $self->billpkgnum } );
-}
-
=item taxable_cust_bill_pkg
Returns the cust_bill_pkg object for the I<taxable> charge.
Returns the associated cust_location object
+=item taxname
+
+Returns the tax name (for populating the itemdesc field).
+
=cut
-sub cust_location {
+sub taxname {
my $self = shift;
- qsearchs( 'cust_location', { 'locationnum' => $self->locationnum } );
+ my $cust_main_county = FS::cust_main_county->by_key($self->taxnum)
+ or return '';
+ $cust_main_county->taxname || 'Tax';
}
=item desc
# FS::cust_bill_pkg.
my ($class, %opt) = @_;
- my $dbh = FS::UID::dbh();
+ my $dbh = dbh;
my $oldAutoCommit = $FS::UID::AutoCommit;
local $FS::UID::AutoCommit = 0;
my $log = FS::Log->new('upgrade_taxable_billpkgnum');