RT#37125: Include discounts in report: customer accounting summary
[freeside.git] / FS / FS / cust_bill_pay_pkg.pm
index 639960f..24ca797 100644 (file)
@@ -1,14 +1,12 @@
 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
 
 FS::cust_bill_pay_pkg - Object methods for cust_bill_pay_pkg records
@@ -102,7 +100,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 +151,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')