Browse Source

Bug 12543 - Add userid as matchpoint for "Import patrons" tool

The a patron's userid should be a matchpoint in the same manner as
cardnumber. Though not enforced as a unique key by the database yet
( pending bug 1861 ), this field is effectively unique as uniqueness
is enforced by Koha itself.

Test Plan:
1) Apply this patch
2) Browse to tools/import_borrowers.pl
3) Download the starter CSV file
4) Edit the csv file to include 1 or more patrons
   * Make sure to leave the borrowernumber field empty
   * Make sure the userid field matches the patrons you wish to overwrite
5) From import_borrowers.pl, upload your file
   * Set "Field to use for record matching" to "Username"
   * Set "If matching record is already in the borrowers table" to "Overwrite the existing one with this"
6) Click "Import"
7) Verify the patrons in your file have been updated in Koha

Signed-off-by: Frederic Demians <f.demians@tamil.fr>

Do exactly what's announced. This may help.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
3.20.x
Kyle Hall 10 years ago
committed by Tomas Cohen Arazi
parent
commit
011d8e9855
  1. 1
      koha-tmpl/intranet-tmpl/prog/en/modules/tools/import_borrowers.tt
  2. 5
      tools/import_borrowers.pl

1
koha-tmpl/intranet-tmpl/prog/en/modules/tools/import_borrowers.tt

@ -114,6 +114,7 @@
<li class="radio">
<select name="matchpoint" id="matchpoint">
<option value="cardnumber">Cardnumber</option>
<option value="userid">Username</option>
[% FOREACH matchpoint IN matchpoints %]
<option value="[% matchpoint.code %]">[% matchpoint.description %]</option>
[% END %]

5
tools/import_borrowers.pl

@ -229,6 +229,11 @@ if ( $uploadborrowers && length($uploadborrowers) > 0 ) {
if ($member) {
$borrowernumber = $member->{'borrowernumber'};
}
} elsif ( ($matchpoint eq 'userid') && ($borrower{'userid'}) ) {
$member = GetMember( 'userid' => $borrower{'userid'} );
if ($member) {
$borrowernumber = $member->{'borrowernumber'};
}
} elsif ($extended) {
if (defined($matchpoint_attr_type)) {
foreach my $attr (@$patron_attributes) {

Loading…
Cancel
Save