Bug 8532 - improve robustness when converting dates

If undef is passed to the date format conversion function, it dies. This
can happen when you have old data in the database. Better to handle it
in some fashion rather than die, so now it just returns undef too.

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
I replace "return undef" with just "return" to pass perlcritic

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
This commit is contained in:
Robin Sheat 2012-07-31 13:22:48 +02:00 committed by Paul Poulain
parent 3a10cbda9a
commit 576f87c4fe
1 changed files with 5 additions and 1 deletions

View File

@ -94,7 +94,8 @@ s/(\d{4})(\d{2})(\d{2})\s+(\d{2})(\d{2})(\d{2})/$1-$2-$3T$4:$5:$6/;
$date_string = output_pref($dt, [$format] );
Returns a string containing the time & date formatted as per the C4::Context setting
Returns a string containing the time & date formatted as per the C4::Context setting,
or C<undef> if C<undef> was provided.
A second parameter allows overriding of the syspref value. This is for testing only
In usage use the DateTime objects own methods for non standard formatting
@ -104,6 +105,9 @@ In usage use the DateTime objects own methods for non standard formatting
sub output_pref {
my $dt = shift;
my $force_pref = shift; # if testing we want to override Context
return unless defined $dt;
my $pref =
defined $force_pref ? $force_pref : C4::Context->preference('dateformat');
given ($pref) {