From 092a3e25966335c7060547f3010e1f01f542a440 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Mon, 15 Feb 2016 12:58:14 +0000 Subject: [PATCH] Bug 15842 - Cannot import patrons if the csv file does not contain privacy_guarantor_checkouts When importing patrons with a csv file which does not contain the privacy_guarantor_checkouts column in the header, you will get DBIx::Class::Storage::DBI::_dbh_execute(): Column 'privacy_guarantor_checkouts' cannot be null at /home/koha/src/C4/Members.pm line 768 The same issue seems to occur for sms_provider_id. Test Plan: 1) Attempt to import patron csv file with no privacy_guarantor_checkouts column 2) Note the error 3) Apply this patch 4) Repeat step 1 5) The error should no longer occur NOTE: While this patch does work, should it be solved only at this level? The issue that there is the lack of those two fields on the tools screen still exists. Signed-off-by: Mark Tompsett Signed-off-by: Jonathan Druart --- C4/Members.pm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/C4/Members.pm b/C4/Members.pm index cab4560..8635322 100644 --- a/C4/Members.pm +++ b/C4/Members.pm @@ -746,6 +746,9 @@ sub AddMember { : $patron_category->default_privacy() eq 'never' ? 2 : $patron_category->default_privacy() eq 'forever' ? 0 : undef; + + $data{'privacy_guarantor_checkouts'} = 0 unless defined( $data{'privacy_guarantor_checkouts'} ); + # Make a copy of the plain text password for later use my $plain_text_password = $data{'password'}; @@ -753,8 +756,9 @@ sub AddMember { $data{'password'} = ($data{'password'})? hash_password($data{'password'}) : '!'; # we don't want invalid dates in the db (mysql has a bad habit of inserting 0000-00-00 - $data{'dateofbirth'} = undef if( not $data{'dateofbirth'} ); - $data{'debarred'} = undef if ( not $data{'debarred'} ); + $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'} ); # get only the columns of Borrower my @columns = $schema->source('Borrower')->columns; -- 2.7.0