ticket 1418, a tool for customer note importation
[freeside.git] / httemplate / misc / process / cust_main_note-import.cgi
1 <% include("/elements/header.html", "Batch Customer Note Import $op") %>
2
3 The following items <% $op eq 'Preview' ? 'would not be' : 'were not' %> imported.  (See below for imported items)
4 <PRE>
5 %  foreach my $row (@uninserted) {
6 %    $csv->combine( (map{ $row->{$_} } qw(last first note) ),
7 %                   $row->{error} ? ('#!', $row->{error}) : (),
8 %                 );
9 <% $csv->string %>
10 %  }
11 </PRE>
12
13 The following items <% $op eq 'Preview' ? 'would be' : 'were' %> imported.  (See above for unimported items)
14
15 <PRE>
16 %  foreach my $row (@inserted) {
17 %    $csv->combine( (map{ $row->{$_} } qw(custnum last first note) ),
18 %                   ('#!', $row->{name}),
19 %                 );
20 <% $csv->string %>
21 %  }
22 </PRE>
23   
24 <%init>
25 my $date = time;
26 my $otaker = $FS::CurrentUser::CurrentUser->username;
27 my $csv = new Text::CSV_XS;
28
29 my $param = $cgi->Vars;
30
31 my $op = $param->{preview} ? "Preview" : "Results";
32
33 my @inserted = ();
34 my @uninserted = ();
35 for ( my $row = 0; exists($param->{"custnum$row"}); $row++ ) {
36   if ( $param->{"custnum$row"} ) {
37     my $cust_main_note = new FS::cust_main_note {
38                                           'custnum'  => $param->{"custnum$row"},
39                                           '_date'    => $date,
40                                           'otaker'   => $otaker,
41                                           'comments' => $param->{"note$row"},
42                                                 };
43     my $error = '';
44     $error = $cust_main_note->insert unless ($op eq "Preview");
45     my $result = { 'custnum' => $param->{"custnum$row"},
46                    'last'    => $param->{"last$row"},
47                    'first'   => $param->{"first$row"},
48                    'note'    => $param->{"note$row"},
49                    'name'    => $param->{"name$row"},
50                    'error'   => $error,
51                  };
52     if ($error) {
53       push @uninserted, $result;
54     }else{
55       push @inserted, $result;
56     }
57   }else{
58     push @uninserted, { 'custnum' => '',
59                         'last'    => $param->{"last$row"},
60                         'first'   => $param->{"first$row"},
61                         'note'    => $param->{"note$row"},
62                         'error'   => '',
63                       };
64   }
65 }
66 </%init>