Bug 14956: (followup) Fix birthday date validation in Opac
authorMarc Véron <veron@veron.ch>
Thu, 5 Nov 2015 13:49:23 +0000 (14:49 +0100)
committerTomas Cohen Arazi <tomascohen@theke.io>
Fri, 6 Nov 2015 18:01:37 +0000 (15:01 -0300)
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 <hector.hecaxmmx@gmail.com>
Works as advertised. Wrong today corrected

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
opac/opac-memberentry.pl

index 22fb843..ddaf914 100755 (executable)
@@ -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;
 }