Created
October 26, 2011 00:27
-
-
Save ctfliblime/1314938 to your computer and use it in GitHub Desktop.
This is not the most efficient way, but it seems to work.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env perl | |
use Koha; | |
use C4::Context; | |
use C4::Reserves; | |
use C4::Circulation; | |
use C4::Items; | |
my $dbh = C4::Context->dbh; | |
my $itemnumbers = $dbh->selectcol_arrayref( | |
q{SELECT itemnumber FROM items | |
WHERE biblionumber IN ( | |
SELECT DISTINCT biblionumber FROM reserves | |
) | |
ORDER BY itemnumber} | |
); | |
for (@$itemnumbers) { | |
my $item = C4::Items::GetItem($_); | |
my ($status, $reserve) = C4::Reserves::CheckReserves($_); | |
next unless $status ~~ 'Reserved'; | |
my (undef, $message, undef, undef) | |
= C4::Circulation::AddReturn($item->{barcode}, $item->{homebranch}); | |
next if not $message->{ResFound}; | |
my $borrower = C4::Members::GetMember($reserve->{borrowernumber}); | |
my $biblio = C4::Biblio::GetBiblioData($reserve->{biblionumber}); | |
my $queue_entry = { | |
reservenumber => $reserve->{reservenumber}, | |
biblionumber => $reserve->{biblionumber}, | |
itemnumber => $item->{itemnumber}, | |
barcode => $item->{barcode}, | |
surname => $borrower->{surname}, | |
borrowernumber => $borrower->{borrowernumber}, | |
reservedate => $reserve->{reservedate}, | |
title => $biblio->{title}, | |
itemcallnumber => $biblio->{cn_class}, | |
holdingbranch => $item->{homebranch}, | |
pickbranch => $borrower->{branchcode}, | |
}; | |
C4::Reserves::SaveHoldInQueue(%$queue_entry); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment