[Koha-patches] [PATCH] [SIGNED OFF] Bug 3595 (partial): Items seen at checkin are not filling holds well
Liz Rea
lrea at nekls.org
Fri Mar 4 20:04:43 CET 2011
From: ruth at bywatersolutions.com <ruth at bywatersolutions.com>
In Liz's second comment on this bug, she points out that local-only
holds (and also no-holds) items are being used to fill the first hold
in the queue, no matter where located, transitting if necessary. If
all the items on a biblio are set to no-holds types, this problem
would never arise, as no holds could be *placed*. But if you have
one or more unlimitedor local-hold items, then holds are getting
filled by the first item to cross a scanner, no matter what.
This patch will check during C4::Reserves::CheckReserves to make sure
that the hold being handed back to AddReturn is actually fillable by
the item just scanned. One caveat: If CircControl is set to "the library
you are logged in at", this will cause items checked in at
other-than-their-home-library to fill local holds at the library where
scanned. This is, however, an edge case!
Signed-off-by: Liz Rea <lrea at nekls.org>
---
C4/Reserves.pm | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/C4/Reserves.pm b/C4/Reserves.pm
index 2dd2688..ca8f2fb 100644
--- a/C4/Reserves.pm
+++ b/C4/Reserves.pm
@@ -804,6 +804,12 @@ sub CheckReserves {
} else {
# See if this item is more important than what we've got so far
if ( $res->{'priority'} && $res->{'priority'} < $priority ) {
+ my $borrowerinfo=C4::Members::GetMemberDetails($res->{'borrowernumber'});
+ my $iteminfo=C4::Items::GetItem($itemnumber);
+ my $branch=C4::Circulation::_GetCircControlBranch($iteminfo,$borrowerinfo);
+ my $branchitemrule = C4::Circulation::GetBranchItemRule($branch,$iteminfo->{'itype'});
+ next if ($branchitemrule->{'holdallowed'} == 0);
+ next if (($branchitemrule->{'holdallowed'} == 1) && ($branch ne $borrowerinfo->{'branchcode'}));
$priority = $res->{'priority'};
$highest = $res;
}
--
1.5.6.5
More information about the Koha-patches
mailing list