summaryrefslogtreecommitdiff
path: root/FS/FS/part_event/Action/cust_bill_send_csv_ftp.pm
blob: bf472683ff47daea2bd040abb895056b5defe8d0 (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
package FS::part_event::Action::cust_bill_send_csv_ftp;

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

sub description { 'Upload CSV invoice data to an FTP server'; }

sub deprecated { 1; }

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

sub option_fields {
  (
    'ftpformat'   => { label   => 'Format',
                       type    =>'select',
                       options => ['default', 'billco'],
                       option_labels => { 'default' => 'Default',
                                          'billco'  => 'Billco',
                                        },
                     },
    'ftpserver'   => 'FTP server',
    'ftpusername' => 'FTP username',
    'ftppassword' => 'FTP password',
    'ftpdir'      => 'FTP directory',
  );
}

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->send_csv(
    'protocol'   => 'ftp',
    'server'     => $self->option('ftpserver'),
    'username'   => $self->option('ftpusername'),
    'password'   => $self->option('ftppassword'),
    'dir'        => $self->option('ftpdir'),
    'format'     => $self->option('ftpformat'),
  );

  '';
}

1;