From 281a9f6cc8ded24b0ab6e5ef2c35d275e2682a2e Mon Sep 17 00:00:00 2001
From: Kyle M Hall <kyle@bywatersolutions.com>
Date: Mon, 23 Jun 2014 12:21:16 -0400
Subject: [PATCH] [SIGNED-OFF] Bug 12467 - Lost items marked as not on loan
 even if they are!
Content-Type: text/plain; charset="utf-8"

The cronjob longoverdue.pl does not require that an item marked as lost
be returned automatically, but there is a line in ModItem that
automatically marks the item's onloan as false if itemlost is set!

Test Plan:
1) Mark an item as lost with longoverdue.pl, without --mark-returned
2) Inspect the db, note that items.onloan is now 0
3) Apply this patch
4) Mark repeat step 1
5) Inspect the db, noe that items.onloan is still 1
6) Test marking an item as lost from staff interface,
   ensure there are no regressions.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>
---
 C4/Circulation.pm |    2 ++
 C4/Items.pm       |    2 --
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/C4/Circulation.pm b/C4/Circulation.pm
index dc7334a..55f0c27 100644
--- a/C4/Circulation.pm
+++ b/C4/Circulation.pm
@@ -2073,6 +2073,8 @@ sub MarkIssueReturned {
                                   WHERE borrowernumber = ?
                                   AND itemnumber = ?");
     $sth_del->execute($borrowernumber, $itemnumber);
+
+    ModItem( { 'onloan' => undef }, undef, $itemnumber );
 }
 
 =head2 _debar_user_on_return
diff --git a/C4/Items.pm b/C4/Items.pm
index f8e2121..70af5ef 100644
--- a/C4/Items.pm
+++ b/C4/Items.pm
@@ -540,8 +540,6 @@ sub ModItem {
 
     $item->{'itemnumber'} = $itemnumber or return;
 
-    $item->{onloan} = undef if $item->{itemlost};
-
     my @fields = qw( itemlost withdrawn );
 
     # Only call GetItem if we need to set an "on" date field
-- 
1.7.9.5