bug 613703: normalize backdate on item checkin better
authorgmc <gmc@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 5 Aug 2010 03:03:15 +0000 (03:03 +0000)
committergmc <gmc@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 5 Aug 2010 03:03:15 +0000 (03:03 +0000)
Fixes bug that appears to cause all checkins uploaded
via offline circ to fail with an "invalid date format"
error.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
git-svn-id: svn://svn.open-ils.org/ILS/trunk@17088 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/src/perlmods/OpenILS/Application/Circ/Circulate.pm

index 8cb1dd1..7eb7192 100644 (file)
@@ -2797,7 +2797,7 @@ sub checkin_handle_lost {
 sub checkin_handle_backdate {
     my $self = shift;
 
-    my $bd = $self->backdate;
+    my $bd = cleanse_ISO8601($self->backdate);
 
     # ------------------------------------------------------------------
     # clean up the backdate for date comparison
@@ -2805,7 +2805,7 @@ sub checkin_handle_backdate {
     # ------------------------------------------------------------------
     my $original_date = DateTime::Format::ISO8601->new->parse_datetime(cleanse_ISO8601($self->circ->due_date));
     my $new_date = DateTime::Format::ISO8601->new->parse_datetime($bd);
-    $bd = $new_date->ymd . 'T' . $original_date->strftime('%T%z');
+    $bd = cleanse_ISO8601($new_date->ymd . 'T' . $original_date->strftime('%T%z'));
 
     $self->backdate($bd);