summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorivan <ivan>2009-10-09 21:37:02 +0000
committerivan <ivan>2009-10-09 21:37:02 +0000
commitf04616ad2c32641c1b85820cb97bcb22edbbc9f5 (patch)
treed9d09a1059272dd331c5f770494f0634f4370d0f
parent3e13bcbded0bf2ce65d8fac4670ee18ecb9e371b (diff)
add cust_pkg_ref option to charge
-rw-r--r--FS/FS/cust_main.pm7
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;