summaryrefslogtreecommitdiff
path: root/FS
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2017-09-25 15:17:20 -0700
committerIvan Kohler <ivan@freeside.biz>2017-09-25 15:17:20 -0700
commitac58d397dab0e70684682775036cd73d23c4213e (patch)
tree0515bfd67d69a6ff39ec0ad2f1a78489165cd03e /FS
parentc6d8896d882b684b1f3c7a2538a90358b27aaf89 (diff)
added invoice details to package import, RT#76992
Diffstat (limited to 'FS')
-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 2467e6fde..3cf38cd41 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 ) {