summaryrefslogtreecommitdiff
path: root/FS/FS/part_pkg/Import.pm
blob: 9e9044e7fe1240c4b7c92d397f6d519ebd9fdf13 (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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package FS::part_pkg::Import;

use strict;
use FS::Record;
use FS::part_pkg;

=head1 NAME

FS::part_pkg::Import - Batch customer importing

=head1 SYNOPSIS

  use FS::part_pkg::Import;

  #ajax helper
  use FS::UI::Web::JSRPC;
  my $server =
    new FS::UI::Web::JSRPC 'FS::part_pkg::Import::process_batch_import', $cgi;
  print $server->process;

=head1 DESCRIPTION

Batch package definition importing.

=head1 SUBROUTINES

=item process_batch_import

Load a batch import as a queued JSRPC job

=cut

sub process_batch_import {
  my $job = shift;

  my $opt = { 'table'       => 'part_pkg',
              'params'      => [qw( agentnum pkgpartbatch )],
              'formats'     => { 'default' => [
                                   'agent_pkgpartid',
                                   'pkg',
                                   'comment',
                                   'freq',
                                   'plan',
                                   'setup_fee',
                                   'recur_fee',
                                   'setup_cost',
                                   'recur_cost',
                                   'classnum',
                                   'taxclass',
                                 ],
                               },
              'insert_args_callback' => sub {
                my $part_pkg = shift;
                ( 'options' => { 'setup_fee' => $part_pkg->get('setup_fee'),
                                 'recur_fee' => $part_pkg->get('recur_fee'),
                               },
                );
              },
              #'default_csv' => 1,
            };

  FS::Record::process_batch_import( $job, $opt, @_ );

}

=head1 BUGS

Not enough documentation.

=head1 SEE ALSO

L<FS::cust_main>, L<FS::part_pkg>

=cut

1;