From 24dc37a4906eaed9e113d717c6c9bb963c0cf854 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Fri, 10 Feb 2012 10:12:20 -0500 Subject: [PATCH] Bug 7526 - longoverdue.pl leaves items marked as lost as still checked out to patron When the longoverdu.pl script is run, and it marks an item as lost ( using LostItem() ), if fails to remove the item from the borrower record. So, the item is marked as lost, but is also still listed as checked out to the borrower. This commit adds the command line parameter --mark-returned. If used, longoverdue.pl will remove lost items from the borrowers record. Functionality will remain the same if it is not used. Signed-off-by: Nicole C. Engard http://bugs.koha-community.org/show_bug.cgi?id=7426 Signed-off-by: Paul Poulain --- misc/cronjobs/longoverdue.pl | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/misc/cronjobs/longoverdue.pl b/misc/cronjobs/longoverdue.pl index 5dca4941aa..159db5165d 100755 --- a/misc/cronjobs/longoverdue.pl +++ b/misc/cronjobs/longoverdue.pl @@ -41,14 +41,16 @@ use Getopt::Long; my $lost; # key=lost value, value=num days. my ($charge, $verbose, $confirm, $quiet); my $endrange = 366; +my $mark_returned = 0; GetOptions( - 'lost=s%' => \$lost, - 'c|charge=s' => \$charge, - 'confirm' => \$confirm, - 'verbose' => \$verbose, - 'quiet' => \$quiet, - 'maxdays=s' => \$endrange + 'lost=s%' => \$lost, + 'c|charge=s' => \$charge, + 'confirm' => \$confirm, + 'verbose' => \$verbose, + 'quiet' => \$quiet, + 'maxdays=s' => \$endrange, + 'mark-returned' => \$mark_returned, ); my $usage = << 'ENDUSAGE'; @@ -75,6 +77,8 @@ This script takes the following parameters : --maxdays Specifies the end of the range of overdue days to deal with (defaults to 366). This value is universal to all lost num days overdue passed. + --mark-returned When an item is marked lost, remove it from the borrowers issued items. + examples : $PERL5LIB/misc/cronjobs/longoverdue.pl --lost 30=1 Would set LOST=1 after 30 days (up to one year), but not charge the account. @@ -161,7 +165,7 @@ foreach my $startrange (sort keys %$lost) { 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'}, undef, 'CHARGE FEE') if( $charge && $charge eq $lostvalue); + LostItem($row->{'itemnumber'}, $mark_returned, 'CHARGE FEE') if( $charge && $charge eq $lostvalue); } $count++; } -- 2.39.5