The longoverdue.pl option --mark-returned doesn't work unless the
--charge option is used as well.
Test Plan:
1) Run long overdue with --mark-returned and not --charge,
note your items are marked lost but not returned
2) Apply this patch
3) Repeat step 1, the items should now get returned!
Tested with (for example):
misc/cronjobs/longoverdue.pl --lost 10=1 --mark-returned --verbose
--confirm
Signed-off-by: Josef Moravec <josef.moravec@gmail.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
(cherry picked from commit
93c5c8e4c85ed3330184de2c6ea06ab73803656b)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
printf ("Due %s: item %5s from borrower %5s to lost: %s\n", $row->{date_due}, $row->{itemnumber}, $row->{borrowernumber}, $lostvalue) if($verbose);
if($confirm) {
ModItem({ itemlost => $lostvalue }, $row->{'biblionumber'}, $row->{'itemnumber'});
- LostItem($row->{'itemnumber'}, $mark_returned) if( $charge && $charge eq $lostvalue);
+ if ( $charge && $charge eq $lostvalue ) {
+ LostItem( $row->{'itemnumber'}, $mark_returned );
+ } elsif ( $mark_returned ) {
+ my $patron = Koha::Patrons->find( $row->{borrowernumber} );
+ MarkIssueReturned($row->{borrowernumber},$row->{itemnumber},undef,undef,$patron->privacy)
+ }
}
$count++;
}