default to a session cookie instead of setting an explicit timeout, weird timezone...
[freeside.git] / FS / FS / cust_tax_exempt_pkg.pm
index bbabb5b..68b7724 100644 (file)
@@ -1,19 +1,13 @@
 package FS::cust_tax_exempt_pkg;
+use base qw( FS::cust_main_Mixin FS::Record );
 
 use strict;
-use vars qw( @ISA );
-use FS::Record qw( qsearch qsearchs );
-use FS::cust_main_Mixin;
-use FS::cust_bill_pkg;
-use FS::cust_main_county;
-use FS::cust_credit_bill_pkg;
 use FS::UID qw(dbh);
+use FS::cust_main_county;
 use FS::upgrade_journal;
 
 # some kind of common ancestor with cust_bill_pkg_tax_location would make sense
 
-@ISA = qw( FS::cust_main_Mixin FS::Record );
-
 =head1 NAME
 
 FS::cust_tax_exempt_pkg - Object methods for cust_tax_exempt_pkg records
@@ -68,7 +62,7 @@ may be the setup fee, the recurring fee, or the sum of those.
 (cust_main.tax = 'Y').
 
 =item exempt_cust_taxname - flag indicating that the customer is exempt 
-from the tax with this name (see L<FS::cust_main_exemption).
+from the tax with this name (see L<FS::cust_main_exemption>).
 
 =item exempt_setup, exempt_recur: flag indicating that the package's setup
 or recurring fee is not taxable (part_pkg.setuptax and part_pkg.recurtax).
@@ -183,9 +177,14 @@ Otherwise returns false.
 
 =cut
 
+# do not remove; this can't be autogenerated
+
 sub cust_main_county {
   my $self = shift;
-  qsearchs( 'cust_main_county', { 'taxnum', $self->taxnum } );
+  if ( $self->taxtype eq 'FS::cust_main_county' ) {
+    return FS::cust_main_county->by_key($self->taxnum);
+  }
+  '';
 }
 
 sub _upgrade_data {