From 0b2a9b5872c72ee6b0f17d32e20c8e59231f03f3 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Sat, 29 Jun 2019 10:55:17 -0500 Subject: [PATCH] Bug 23217: Remove SQL error when batch patron mod and not attribute selected On the batch patron modification tool, if no patron attribute is selected then an UPDATE query will be executed anyway. Indeed the form will send a an empty "patron_attributes" parameter. We need to handle it. Test plan: Go to the patron modification tool Enter a cardnumber Change a field (like city) Do not change anything in the patron's attributes Save => Without this patch a SQL error is generated: DBD::mysql::st execute failed: Cannot add or update a child row: a foreign key constraint fails (`koha_kohadev`.`borrower_attributes`, CONSTRAINT `borrower_attributes_ibfk_2` FOREIGN KEY (`code`) REFERENCES `borrower_attribute_types` (`code`) ON DELETE CASCADE ON UPDATE CASCADE) [for Statement "INSERT INTO borrower_attributes SET attribute = ?, code = ?, borrowernumber = ?" with ParamValues: 0=undef, 1="", 2="51"] at /home/vagrant/kohaclone/C4/Members/Attributes.pm line 287. => With this patch applied you will not see it You should also test that you can modify patron's attributes ;) Signed-off-by: Hayley Mapley Signed-off-by: Nick Clemens Signed-off-by: Martin Renvoize --- tools/modborrowers.pl | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/modborrowers.pl b/tools/modborrowers.pl index fb672a631d..014db945a1 100755 --- a/tools/modborrowers.pl +++ b/tools/modborrowers.pl @@ -306,6 +306,7 @@ if ( $op eq 'do' ) { my $borrower_categorycode = Koha::Patrons->find( $borrowernumber )->categorycode; my $i=0; for ( @attributes ) { + next unless $_; my $attribute; $attribute->{code} = $_; $attribute->{attribute} = $attr_values[$i]; -- 2.39.5