table of FTP targets for invoice spool upload, #17620
[freeside.git] / FS / FS / part_event / Action / cust_bill_spool_csv.pm
index 4300b61..24c26ff 100644 (file)
@@ -2,14 +2,11 @@ package FS::part_event::Action::cust_bill_spool_csv;
 
 use strict;
 use base qw( FS::part_event::Action );
+use FS::Misc;
 
-sub description {
-  'Spool CSV invoice data';
-}
+sub description { 'Spool CSV invoice data'; }
 
-sub deprecated {
-  1;
-}
+sub deprecated { 1; }
 
 sub eventtable_hashref {
   { 'cust_bill' => 1 };
@@ -19,19 +16,7 @@ sub option_fields {
   (
     'spoolformat'       => { label   => 'Format',
                              type    => 'select',
-                             options => ['default', 'billco'],
-                             option_labels => { 'default' => 'Default',
-                                                'billco'  => 'Billco',
-                                              },
-                           },
-    'spooldest'         => { label   => 'For destination',
-                             type    => 'select',
-                             options => [ '', qw( POST EMAIL FAX ) ],
-                             option_labels => { ''      => '(all)',
-                                                'POST'  => 'Postal Mail',
-                                                'EMAIL' => 'Email',
-                                                'FAX'   => 'Fax',
-                                              },
+                             options => [ FS::Misc::spool_formats() ],
                            },
     'spoolbalanceover'  => { label =>
                                'If balance (this invoice and previous) over',
@@ -39,13 +24,19 @@ sub option_fields {
                            },
     'spoolagent_spools' => { label => 'Individual per-agent spools',
                              type  => 'checkbox',
+                             value => '1',
+                           },
+    'ftp_targetnum'     => { label    => 'Upload spool to FTP target',
+                             type     => 'select-table',
+                             table    => 'ftp_target',
+                             name_col => 'label',
+                             empty_label => '(do not upload)',
+                             order_by => 'targetnum',
                            },
   );
 }
 
-sub default_weight {
-  50;
-}
+sub default_weight { 50; }
 
 sub do_action {
   my( $self, $cust_bill ) = @_;
@@ -55,9 +46,9 @@ sub do_action {
 
   $cust_bill->spool_csv(
     'format'       => $self->option('spoolformat'),
-    'dest'         => $self->option('spooldest'),
     'balanceover'  => $self->option('spoolbalanceover'),
     'agent_spools' => $self->option('spoolagent_spools'),
+    'ftp_targetnum'=> $self->option('ftp_targetnum'),
   );
 }