From fd123903651435c56ca14d88897e9ce4d7a38bb5 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Wed, 14 Oct 2015 08:48:30 -0400 Subject: [PATCH] Bug 15010: Import patron tool creates 'duplicate' restrictions ( debarments ) If a patron has restrictions and a CSV file of patrons to be overwritten is uploaded but has no debarred / debarredcomment columns, the a new restriction will be added that combines all the existing restrictions ( i.e. a new debarment based on the existing borrowers.debarred and borrowers.debarredcomment fields ). Test Plan: 1) Create a patron with one or more restrictions 2) Import a CSV file that updates that patron, but with no debarred columns 3) Note a new restrictions is created 4) Delete the new restriction 5) Apply this patch 6) Re-import the CSV file again 7) Note that no new restriction is created 8) Add debarred and debarredcomment columns to the CSV file with a test date and description 9) Re-import the CSV file again 10) Note the new restriction is added to the patron Signed-off-by: Kyle M Hall Signed-off-by: Daniel Grobani Signed-off-by: Jonathan Druart Signed-off-by: Tomas Cohen Arazi --- tools/import_borrowers.pl | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/tools/import_borrowers.pl b/tools/import_borrowers.pl index 1876c88..ad29a66 100755 --- a/tools/import_borrowers.pl +++ b/tools/import_borrowers.pl @@ -280,7 +280,9 @@ if ( $uploadborrowers && length($uploadborrowers) > 0 ) { $template->param('lastinvalid'=>$borrower{'surname'}.' / '.$borrowernumber); next LINE; } - if ( $borrower{debarred} ) { + + # Don't add a new restriction if the existing 'combined' restriction matches this one + if ( $borrower{debarred} && ( ( $borrower{debarred} ne $member->{debarred} ) || ( $borrower{debarredcomment} ne $member->{debarredcomment} ) ) ) { # Check to see if this debarment already exists my $debarrments = GetDebarments( { @@ -300,6 +302,7 @@ if ( $uploadborrowers && length($uploadborrowers) > 0 ) { ); } } + if ($extended) { if ($ext_preserve) { my $old_attributes = GetBorrowerAttributes($borrowernumber); -- 1.7.2.5