summaryrefslogtreecommitdiff
path: root/FS/FS/cust_pkg
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2017-09-25 15:17:21 -0700
committerIvan Kohler <ivan@freeside.biz>2017-09-25 15:17:21 -0700
commitb94846d563bd29dcf9c11bb0cd6f75652e2b7a7b (patch)
tree76c6a96968cc0f55875664e248f9383529236784 /FS/FS/cust_pkg
parent440d1595f428eeeb7bd98e7eb1d7aa42d71e08e8 (diff)
added invoice details to package import, RT#76992
Diffstat (limited to 'FS/FS/cust_pkg')
-rw-r--r--FS/FS/cust_pkg/Import.pm21
1 files changed, 20 insertions, 1 deletions
diff --git a/FS/FS/cust_pkg/Import.pm b/FS/FS/cust_pkg/Import.pm
index 2467e6f..3cf38cd 100644
--- a/FS/FS/cust_pkg/Import.pm
+++ b/FS/FS/cust_pkg/Import.pm
@@ -105,7 +105,7 @@ my %formatfields = (
'svc_phone' => [qw( countrycode phonenum sip_password pin )],
'svc_external' => [qw( id title )],
'location' => [qw( address1 address2 city state zip country )],
- 'quan_price' => [qw( quantity setup_fee recur_fee )],
+ 'quan_price' => [qw( quantity setup_fee recur_fee invoice_details )],
);
sub _formatfields {
@@ -162,6 +162,25 @@ warn join('-', @location_params);
'postinsert_callback' => sub {
my( $record, $param ) = @_;
+ if ( $param->{'quan_price.invoice_details'} ) {
+
+ my $weight = 0;
+ foreach my $detail (split(/\|/, $param->{'quan_price.invoice_details'})) {
+
+ my $cust_pkg_detail = new FS::cust_pkg_detail {
+ 'pkgnum' => $record->pkgnum,
+ 'detail' => $detail,
+ 'detailtype' => 'I',
+ 'weight' => $weight++,
+ };
+
+ my $error = $cust_pkg_detail->insert;
+ return "error inserting invoice detail: $error" if $error;
+
+ }
+
+ }
+
my $formatfields = _formatfields;
foreach my $svc_x ( grep /^svc/, keys %$formatfields ) {