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: Chris Cormack <chrisc@catalyst.net.nz>
This commit is contained in:
Robin Sheat 2012-07-31 13:22:48 +02:00 committed by Chris Cormack
parent 99a70e30a0
commit b5c8aad0f6
1 changed files with 5 additions and 1 deletions

View File

@ -95,7 +95,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
@ -105,6 +106,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) {