From 41ad2ba4db8d70f5010f530883ded02c0641329d Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Tue, 16 Jun 2020 08:00:45 -0400 Subject: [PATCH] Bug 25769: Patron self modification triggers change request for date of birth to null If PatronSelfModificationBorrowerUnwantedField contains dateofbirth, all patron self modification requests will attempt to set dateofbirth to null instead of ignoring the field. Test Plan: 1) Add dateofbirth to PatronSelfModificationBorrowerUnwantedField 2) Run a patron self modification 3) Note the request sets dateofbirth to null on the staff side 4) Apply this patch 5) Restart all the things! 6) Run another self-modification 7) Note of the staff side that dateofbirth is unaffected Signed-off-by: Emmi Takkinen Signed-off-by: Martin Renvoize Signed-off-by: Jonathan Druart (cherry picked from commit 73c421a5164a3af4b2b8e1001b49f29213a94e3a) Signed-off-by: Lucas Gass --- opac/opac-memberentry.pl | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/opac/opac-memberentry.pl b/opac/opac-memberentry.pl index faf32e8285..3825403029 100755 --- a/opac/opac-memberentry.pl +++ b/opac/opac-memberentry.pl @@ -482,16 +482,18 @@ sub ParseCgiForBorrower { } } - my $dob_dt; - $dob_dt = eval { dt_from_string( $borrower{'dateofbirth'} ); } - if ( $borrower{'dateofbirth'} ); + if ( defined $borrower{'dateofbirth'} ) { + my $dob_dt; + $dob_dt = eval { dt_from_string( $borrower{'dateofbirth'} ); } + if ( $borrower{'dateofbirth'} ); - if ( $dob_dt ) { - $borrower{'dateofbirth'} = output_pref ( { dt => $dob_dt, dateonly => 1, dateformat => 'iso' } ); - } - else { - # Trigger validation - $borrower{'dateofbirth'} = undef; + if ( $dob_dt ) { + $borrower{'dateofbirth'} = output_pref( { dt => $dob_dt, dateonly => 1, dateformat => 'iso' } ); + } + else { + # Trigger validation + $borrower{'dateofbirth'} = undef; + } } # Replace checkbox 'agreed' by datetime in gdpr_proc_consent -- 2.39.5