X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2Fpart_event%2FAction%2Fcust_bill_spool_csv.pm;h=0d84e77c47d5f5aefd6d706452a99670472faded;hb=88dbd0c961480b879faa6e8a0556202f41e8202f;hp=43d230033691b171292d941ab0d38ef75894968e;hpb=624b2d44625f69d71175c3348cae635d580c890b;p=freeside.git diff --git a/FS/FS/part_event/Action/cust_bill_spool_csv.pm b/FS/FS/part_event/Action/cust_bill_spool_csv.pm index 43d230033..0d84e77c4 100644 --- a/FS/FS/part_event/Action/cust_bill_spool_csv.pm +++ b/FS/FS/part_event/Action/cust_bill_spool_csv.pm @@ -2,6 +2,7 @@ package FS::part_event::Action::cust_bill_spool_csv; use strict; use base qw( FS::part_event::Action ); +use FS::Misc::Invoicing qw( spool_formats ); sub description { 'Spool CSV invoice data'; } @@ -15,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 => [ spool_formats() ], }, 'spoolbalanceover' => { label => 'If balance (this invoice and previous) over', @@ -37,22 +26,37 @@ sub option_fields { type => 'checkbox', value => '1', }, + 'upload_targetnum' => { label => 'Upload spool to target', + type => 'select-table', + table => 'upload_target', + name_col => 'label', + empty_label => '(do not upload)', + order_by => 'targetnum', + }, + 'skip_nopost' => { label => 'Skip customers without postal billing enabled', + type => 'checkbox', + value => 'Y', + }, ); } sub default_weight { 50; } sub do_action { - my( $self, $cust_bill ) = @_; + my( $self, $cust_bill, $cust_event ) = @_; #my $cust_main = $self->cust_main($cust_bill); my $cust_main = $cust_bill->cust_main; + return if $self->option('skip_nopost') + && ! grep { $_ eq 'POST' } $cust_main->invoicing_list; + $cust_bill->spool_csv( + 'time' => $cust_event->_date, 'format' => $self->option('spoolformat'), - 'dest' => $self->option('spooldest'), 'balanceover' => $self->option('spoolbalanceover'), 'agent_spools' => $self->option('spoolagent_spools'), + 'upload_targetnum'=> $self->option('upload_targetnum'), ); }