diff options
author | ivan <ivan> | 2009-10-09 21:37:02 +0000 |
---|---|---|
committer | ivan <ivan> | 2009-10-09 21:37:02 +0000 |
commit | f04616ad2c32641c1b85820cb97bcb22edbbc9f5 (patch) | |
tree | d9d09a1059272dd331c5f770494f0634f4370d0f | |
parent | 3e13bcbded0bf2ce65d8fac4670ee18ecb9e371b (diff) |
add cust_pkg_ref option to charge
-rw-r--r-- | FS/FS/cust_main.pm | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/FS/FS/cust_main.pm b/FS/FS/cust_main.pm index 8dcbd8d71..9d40e7306 100644 --- a/FS/FS/cust_main.pm +++ b/FS/FS/cust_main.pm @@ -7169,6 +7169,9 @@ New-style, with a hashref of options: #vendor taxation 'taxproduct' => 2, #part_pkg_taxproduct 'override' => {}, #XXX describe + + #will be filled in with the new object + 'cust_pkg_ref' => \$cust_pkg, } ); @@ -7184,6 +7187,7 @@ sub charge { my ( $pkg, $comment, $additional ); my ( $setuptax, $taxclass ); #internal taxes my ( $taxproduct, $override ); #vendor (CCH) taxes + my $cust_pkg_ref = ''; if ( ref( $_[0] ) ) { $amount = $_[0]->{amount}; $quantity = exists($_[0]->{quantity}) ? $_[0]->{quantity} : 1; @@ -7197,6 +7201,7 @@ sub charge { $additional = $_[0]->{additional} || []; $taxproduct = $_[0]->{taxproductnum}; $override = { '' => $_[0]->{tax_override} }; + $cust_pkg_ref = exists($_[0]->{cust_pkg_ref}) ? $_[0]->{cust_pkg_ref} : ''; } else { $amount = shift; $quantity = 1; @@ -7268,6 +7273,8 @@ sub charge { if ( $error ) { $dbh->rollback if $oldAutoCommit; return $error; + } elsif ( $cust_pkg_ref ) { + ${$cust_pkg_ref} = $cust_pkg; } $dbh->commit or die $dbh->errstr if $oldAutoCommit; |