From 4d2ff6fd4cd1a5ddcb6c95cde70b2cda3a6bb4f9 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Thu, 21 Mar 2013 07:18:34 -0700 Subject: [PATCH] Bug 9673 - Track when items are marked as lost or withdrawn - QA Followup --- C4/Items.pm | 14 +++++++++----- 1 files changed, 9 insertions(+), 5 deletions(-) diff --git a/C4/Items.pm b/C4/Items.pm index 43ea2c1..73eeea5 100644 --- a/C4/Items.pm +++ b/C4/Items.pm @@ -30,6 +30,7 @@ use MARC::Record; use C4::ClassSource; use C4::Log; use List::MoreUtils qw/any/; +use DateTime::Format::MySQ; use Data::Dumper; # used as part of logging item record changes, not just for # debugging; so please don't remove this @@ -535,12 +536,15 @@ sub ModItem { $item->{onloan} = undef if $item->{itemlost}; + my $pre_mod_item = GetItem($item->{'itemnumber'}); for my $field ( qw( itemlost wthdrawn ) ) { - if ( defined( $item->{$field} ) ) { - if ( $item->{$field} ) { - $item->{$field . '_on'} = DateTime::Format::MySQL->format_datetime( DateTime->now() ); - } else { - $item->{$field . '_on'} = undef; + unless ( $pre_mod_item->{$field} ) { + if ( defined( $item->{$field} ) ) { + if ( $item->{$field} ) { + $item->{$field . '_on'} = DateTime::Format::MySQL->format_datetime( DateTime->now() ); + } else { + $item->{$field . '_on'} = undef; + } } } } -- 1.7.2.5