RT# 83450 - fixed rateplan export
[freeside.git] / FS / FS / cust_bill_pay_pkg.pm
index 639960f..ccfa492 100644 (file)
@@ -1,13 +1,8 @@
 package FS::cust_bill_pay_pkg;
+use base qw(  FS::cust_main_Mixin FS::Record );
 
 use strict;
-use vars qw( @ISA );
 use FS::Conf;
-use FS::Record qw( qsearch qsearchs );
-use FS::cust_bill_pay;
-use FS::cust_bill_pkg;
-
-@ISA = qw(FS::Record);
 
 =head1 NAME
 
@@ -102,7 +97,11 @@ sub insert {
 
   #payment receipt
   my $conf = new FS::Conf;
-  my $trigger = $conf->config('payment_receipt-trigger') || 'cust_pay';
+  my $trigger =
+    $conf->config('payment_receipt-trigger',
+                    $self->cust_bill_pay->cust_bill->cust_main->agentnum,
+                 )
+    || 'cust_pay';
   if ( $trigger eq 'cust_bill_pay_pkg' ) {
     my $error = $self->send_receipt(
       'manual'    => $options{'manual'},
@@ -149,6 +148,13 @@ sub check {
     $self->ut_numbern('billpaypkgnum')
     || $self->ut_foreign_key('billpaynum', 'cust_bill_pay', 'billpaynum' )
     || $self->ut_foreign_key('billpkgnum', 'cust_bill_pkg', 'billpkgnum' )
+    || $self->ut_foreign_keyn('pkgnum', 'cust_pkg', 'pkgnum')
+    || $self->ut_foreign_keyn('billpkgtaxlocationnum',
+                              'cust_bill_pkg_tax_location',
+                              'billpkgtaxlocationnum')
+    || $self->ut_foreign_keyn('billpkgtaxratelocationnum',
+                              'cust_bill_pkg_tax_rate_location',
+                              'billpkgtaxratelocationnum')
     || $self->ut_money('amount')
     || $self->ut_enum('setuprecur', [ 'setup', 'recur' ] )
     || $self->ut_numbern('sdate')
@@ -164,24 +170,10 @@ sub check {
 Returns the FS::cust_bill_pay object (payment application to the overall
 invoice).
 
-=cut
-
-sub cust_bill_pay {
-  my $self = shift;
-  qsearchs('cust_bill_pay', { 'billpaynum' => $self->billpaynum } );
-}
-
 =item cust_bill_pkg
 
 Returns the FS::cust_bill_pkg object (line item to which payment is applied).
 
-=cut
-
-sub cust_bill_pkg {
-  my $self = shift;
-  qsearchs('cust_bill_pkg', { 'billpkgnum' => $self->billpkgnum } );
-}
-
 =item send_receipt
 
 Sends a payment receipt for the associated payment, against this specific