From da86d5c80a508ecd99290ce5c3611a1f28eb785c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20V=C3=A9ron?= Date: Thu, 5 Nov 2015 14:49:23 +0100 Subject: [PATCH] [SIGNED-OFF]Bug 14956: (followup) Fix birthday date validation in Opac To reproduce / test: - In Opac: Go to 'your personal details' - Enter a valid birtday date - In Staff client: Go to Home > Patrons > Update patron records (Link on start page: Patrons requesting modification) - Verify that the birtday date is correct - Back in Opac, clear the birthday date, try to submit => Validation message appears - Enter an invalid date (32/32/2999 or 00/00/0000), try to submit => Birthday date field is cleared, validation message appears. Signed-off-by: Hector Castro Works as advertised. Wrong today corrected --- opac/opac-memberentry.pl | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/opac/opac-memberentry.pl b/opac/opac-memberentry.pl index 22fb843..ddaf914 100755 --- a/opac/opac-memberentry.pl +++ b/opac/opac-memberentry.pl @@ -334,10 +334,15 @@ sub ParseCgiForBorrower { my $dob_dt; $dob_dt = eval { dt_from_string( $borrower{'dateofbirth'} ); } - if ( defined( $borrower{'dateofbirth'} ) ); + if ( $borrower{'dateofbirth'} ); - $borrower{'dateofbirth'} = output_pref ( { dt => $dob_dt, dateonly => 1, dateformat => 'iso' }) - if ( $dob_dt ); + if ( $dob_dt ) { + $borrower{'dateofbirth'} = output_pref ( { dt => $dob_dt, dateonly => 1, dateformat => 'iso' } ); + } + else { + # Trigger validation + $borrower{'dateofbirth'} = undef; + } return %borrower; } -- 2.1.4