summaryrefslogtreecommitdiff
path: root/FS/FS/part_event/Action/cust_bill_spool_csv.pm
blob: 43d230033691b171292d941ab0d38ef75894968e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
package FS::part_event::Action::cust_bill_spool_csv;

use strict;
use base qw( FS::part_event::Action );

sub description { 'Spool CSV invoice data'; }

sub deprecated { 1; }

sub eventtable_hashref {
  { 'cust_bill' => 1 };
}

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',
                                              },
                           },
    'spoolbalanceover'  => { label =>
                               'If balance (this invoice and previous) over',
                             type  => 'money',
                           },
    'spoolagent_spools' => { label => 'Individual per-agent spools',
                             type  => 'checkbox',
                             value => '1',
                           },
  );
}

sub default_weight { 50; }

sub do_action {
  my( $self, $cust_bill ) = @_;

  #my $cust_main = $self->cust_main($cust_bill);
  my $cust_main = $cust_bill->cust_main;

  $cust_bill->spool_csv(
    'format'       => $self->option('spoolformat'),
    'dest'         => $self->option('spooldest'),
    'balanceover'  => $self->option('spoolbalanceover'),
    'agent_spools' => $self->option('spoolagent_spools'),
  );
}

1;