diff options
author | Ivan Kohler <ivan@freeside.biz> | 2017-09-25 15:17:21 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2017-09-25 15:17:21 -0700 |
commit | b94846d563bd29dcf9c11bb0cd6f75652e2b7a7b (patch) | |
tree | 76c6a96968cc0f55875664e248f9383529236784 /FS/FS/cust_pkg | |
parent | 440d1595f428eeeb7bd98e7eb1d7aa42d71e08e8 (diff) |
added invoice details to package import, RT#76992
Diffstat (limited to 'FS/FS/cust_pkg')
-rw-r--r-- | FS/FS/cust_pkg/Import.pm | 21 |
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 ) { |