<h5>Import results :</h5>
<ul>
<li>[% imported %] imported records [% IF ( lastimported ) %](last was [% lastimported %])[% END %]</li>
+ [% IF imported and patronlistname %]
+ <li>Patronlist with imported patrons: [% patronlistname %]</li>
+ [% END %]
<li>[% overwritten %] overwritten [% IF ( lastoverwritten ) %](last was [% lastoverwritten %])[% END %]</li>
<li>[% alreadyindb %] not imported because already in borrowers table and overwrite disabled [% IF ( lastalreadyindb ) %](last was [% lastalreadyindb %])[% END %]</li>
<li>[% invalid %] not imported because they are not in the expected format [% IF ( lastinvalid ) %](last was [% lastinvalid %])[% END %]</li>
<label for="uploadborrowers">Select the file to import: </label>
<input type="file" id="uploadborrowers" name="uploadborrowers" />
</li>
+ <li>
+ <label for "createpatronlist">Create patron list: </label>
+ <input name="createpatronlist" id="createpatronlist" value="1" type="checkbox">
+ <span class="hint">List name will be file name with timestamp</span>
+ </li>
+
</ol></fieldset>
<fieldset class="rows">
<legend>Field to use for record matching</legend>
use Koha::Token;
use Koha::Libraries;
use Koha::Patron::Categories;
+use Koha::List::Patron;
use Text::CSV;
# Text::CSV::Unicode, even in binary mode, fails to parse lines with these diacriticals:
}
my $overwrite_cardnumber = $input->param('overwrite_cardnumber');
+#create a patronlist
+my $createpatronlist = $input->param('createpatronlist') || 0;
+my $dt = dt_from_string();
+my $timestamp = $dt->ymd('-').' '.$dt->hms(':');
+my $patronlistname = $uploadborrowers . ' (' . $timestamp .')';
+
$template->param( SCRIPT_NAME => '/cgi-bin/koha/tools/import_borrowers.pl' );
if ( $uploadborrowers && length($uploadborrowers) > 0 ) {
token => scalar $input->param('csrf_token'),
});
+ #create a patronlist
+ my $createpatronlist = $input->param('createpatronlist');
+ my $dt = dt_from_string();
+ my $timestamp = $dt->ymd('-').' '.$dt->hms(':');
+ my $patronlistname = $uploadborrowers. ' (' . $timestamp .')';
+
push @feedback, {feedback=>1, name=>'filename', value=>$uploadborrowers, filename=>$uploadborrowers};
my $handle = $input->upload('uploadborrowers');
my $uploadinfo = $input->uploadInfo($uploadborrowers);
foreach (keys %$uploadinfo) {
push @feedback, {feedback=>1, name=>$_, value=>$uploadinfo->{$_}, $_=>$uploadinfo->{$_}};
}
+
my $imported = 0;
+ my @imported_borrowers;
my $alreadyindb = 0;
my $overwritten = 0;
my $invalid = 0;
$imported++;
$template->param('lastimported'=>$borrower{'surname'}.' / '.$borrowernumber);
+ push @imported_borrowers, $borrowernumber; #for patronlist
} else {
$invalid++;
push @errors, {unknown_error => 1};
}
}
}
+
+ if ( $imported && $createpatronlist ) {
+ my $patronlist = AddPatronList({ name => $patronlistname });
+ AddPatronsToList({ list => $patronlist, borrowernumbers => \@imported_borrowers });
+ $template->param('patronlistname' => $patronlistname);
+ }
+
(@errors ) and $template->param( ERRORS=>\@errors );
(@feedback) and $template->param(FEEDBACK=>\@feedback);
$template->param(