From 479659455a96cf8aa3de8cb8df4a3b9e5ced2ce3 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Tue, 6 Sep 2016 10:12:20 +0100 Subject: [PATCH] Bug 17257: Fix add/edit patrons under MySQL 5.7 If no guarantor is defined the patron won't be added/modified and an error will be raised: DBD::mysql::st execute failed: Incorrect integer value: '' for column 'guarantorid' Test plan: Using MySQL 5.7 (and/or sql_mode=STRICT_TRANS_TABLES) Create a patron without guarantor --- C4/Members.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/C4/Members.pm b/C4/Members.pm index 061172f..14d94d3 100644 --- a/C4/Members.pm +++ b/C4/Members.pm @@ -590,6 +590,7 @@ sub ModMember { $new_borrower->{dateexpiry} ||= undef if exists $new_borrower->{dateexpiry}; $new_borrower->{debarred} ||= undef if exists $new_borrower->{debarred}; $new_borrower->{sms_provider_id} ||= undef if exists $new_borrower->{sms_provider_id}; + $new_borrower->{guarantorid} ||= undef if exists $new_borrower->{guarantorid}; my $rs = $schema->resultset('Borrower')->search({ borrowernumber => $new_borrower->{borrowernumber}, @@ -685,6 +686,7 @@ sub AddMember { $data{'dateofbirth'} = undef if ( not $data{'dateofbirth'} ); $data{'debarred'} = undef if ( not $data{'debarred'} ); $data{'sms_provider_id'} = undef if ( not $data{'sms_provider_id'} ); + $data{'guarantorid'} = undef if ( not $data{'guarantorid'} ); # get only the columns of Borrower my @columns = $schema->source('Borrower')->columns; -- 2.8.1