email addresses on detach customer, RT#25954, RT#22185
authorIvan Kohler <ivan@freeside.biz>
Thu, 14 Nov 2013 01:41:43 +0000 (17:41 -0800)
committerIvan Kohler <ivan@freeside.biz>
Thu, 14 Nov 2013 01:41:43 +0000 (17:41 -0800)
FS/FS/cust_pkg.pm
httemplate/edit/process/detach-cust_pkg.html

index 98f8a37..dd4d11c 100644 (file)
@@ -1860,7 +1860,7 @@ sub change {
   if ( $opt->{cust_main} ) {
     my $cust_main = $opt->{cust_main};
     unless ( $cust_main->custnum ) { 
-      my $error = $cust_main->insert;
+      my $error = $cust_main->insert( @{ $opt->{cust_main_insert_args}||[] } );
       if ( $error ) {
         $dbh->rollback if $oldAutoCommit;
         return "inserting cust_main (transaction rolled back): $error";
index ab87eb5..782ffa5 100644 (file)
@@ -30,16 +30,23 @@ my $cust_location = new FS::cust_location {
   map { $_ => scalar($cgi->param($_)) } FS::cust_main->location_fields
 };
 
+#false laziness w/process/cust_main.cgi
+my @invoicing_list = split( /\s*\,\s*/, $cgi->param('invoicing_list') );
+push @invoicing_list, 'POST' if $cgi->param('invoicing_list_POST');
+push @invoicing_list, 'FAX' if $cgi->param('invoicing_list_FAX');
+$cgi->param('invoicing_list', join(',', @invoicing_list) );
+
 my $cust_main = new FS::cust_main {
   ( map { ( $_, scalar($cgi->param($_)) ) } fields('cust_main') ),
   ( map { ( "ship_$_", '' ) } FS::cust_main->location_fields ),
-  'bill_location' => $cust_location,
-  'ship_location' => $cust_location,
+  'bill_location'  => $cust_location,
+  'ship_location'  => $cust_location,
 };
 
 my $pkg_or_error = $cust_pkg->change( {
-  'keep_dates' => 1,
-  'cust_main'  => $cust_main,
+  'keep_dates'            => 1,
+  'cust_main'             => $cust_main,
+  'cust_main_insert_args' => [ {}, \@invoicing_list ],
 } );
 
 my $error = ref($pkg_or_error) ? '' : $pkg_or_error;