From: [email protected] <[email protected]>

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 <[email protected]>
---
 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

_______________________________________________
Koha-patches mailing list
[email protected]
http://lists.koha-community.org/cgi-bin/mailman/listinfo/koha-patches
website : http://www.koha-community.org/
git : http://git.koha-community.org/
bugs : http://bugs.koha-community.org/

Reply via email to