From d893ce15b9aaecfe6c7bde0efccf34573ce6d169 Mon Sep 17 00:00:00 2001
From: Robin Sheat <robin@catalyst.net.nz>
Date: Tue, 31 Jul 2012 13:22:48 +0200
Subject: [PATCH] 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.
---
 Koha/DateUtils.pm |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Koha/DateUtils.pm b/Koha/DateUtils.pm
index a1fd088..da3bfff 100644
--- a/Koha/DateUtils.pm
+++ b/Koha/DateUtils.pm
@@ -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
@@ -106,6 +107,7 @@ sub output_pref {
     my $force_pref = shift;    # if testing we want to override Context
     my $pref =
       defined $force_pref ? $force_pref : C4::Context->preference('dateformat');
+    return undef unless defined($dt);
     given ($pref) {
         when (/^iso/) {
             return $dt->strftime('%Y-%m-%d %H:%M');
-- 
1.7.9.5