From 361c1e987c2e78366536ca00001c3b43f700e1ff 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 Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com --- C4/Members.pm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/C4/Members.pm b/C4/Members.pm index cab4560af4..8635322207 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.39.5