From 7d66900ea43e9f8d073ab7c03fb208b736276cdb Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Marc=20V=C3=A9ron?= <veron@veron.ch>
Date: Thu, 5 Nov 2015 14:49:23 +0100
Subject: [PATCH] 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.
---
 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;
 }
-- 
1.7.10.4