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>
Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Patch works according to test plan and fixes a data loss bug.
Some notes:
- This patch would be nicer with a regression test.
- Also checked that returning the item removes lost status and onloan still.
- Tried to test with --mark-returned, but couldn't get it to
return my item neither with nor without the patch. (see comment on
bug report)
Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
WHERE borrowernumber = ?
AND itemnumber = ?");
$sth_del->execute($borrowernumber, $itemnumber);
+
+ ModItem( { 'onloan' => undef }, undef, $itemnumber );
}
=head2 _debar_user_on_return
$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