<% include("/elements/header.html", 'Batch Customer Note Import') %> %
<% include('/elements/xmlhttp.html', 'url' => $p. 'misc/xmlhttp-cust_main-search.cgi', 'subs' => [qw( custnum_search )], ) %> % my $fh = $cgi->upload('csvfile'); % my $csv = new Text::CSV_XS; % my $skip_fuzzies = $cgi->param('fuzzies') ? 0 : 1; % my $use_agent_custid = $cgi->param('use_agent_custid') ? 1 : 0; % % if ( defined($fh) ) { % my $agentnum = scalar($cgi->param('agentnum')); % my $line; % my $row = 0; % while ( defined($line=<$fh>) ) { % $line =~ s/(\S*)\s*$/$1/; % $line =~ s/^(.*)(#!).*/$1/; % % $csv->parse($line) or die "can't parse line: " . $csv->error_input(); % my $custnum = 0; % my @values = $csv->fields(); % my $last = shift @values; % if ($last =~ /^\s*(\d+)\s*$/ ) { % $custnum = $1; % $last = shift @values; % } % my $first = shift @values; % my $note = join ' ', @values; % next unless ( $last || $first || $note ); % my @cust_main = (); % warn "searching for: $last, $first" if ($first || $last); % if ($agentnum && $custnum && $use_agent_custid) { % @cust_main = qsearch('cust_main', { 'agent' => $agentnum, % 'agent_custid' => $custnum } ); % } elsif ($custnum) { # && !use_agent_custid % @cust_main = qsearch('cust_main', { 'custnum' => $custnum }); % } else { % @cust_main = FS::cust_main::smart_search( % 'search' => "$last, $first", % 'no_fuzzy_on_exact' => $skip_fuzzies, % ) % if ($first || $last); % } % % $row++; % }
Cust # Customer Last First Note to be added
<% $first %> <% $last %> <% $note %>
Preview mode % } else { No file supplied % }
<%init> die "access denied" unless $FS::CurrentUser::CurrentUser->access_right('Import');