Bug 11258: fix another case where holds queue made transfer requests that contradict...
authorKyle M Hall <kyle@bywatersolutions.com>
Fri, 15 Nov 2013 16:29:23 +0000 (08:29 -0800)
committerKyle M Hall <kyle@bywatersolutions.com>
Wed, 13 Aug 2014 14:30:02 +0000 (10:30 -0400)
commit8a975f8d30b22e63ba8d72421d0e69c29340f847
treeff25b1c5f52069541dfeffd7457121f7cbcca74d
parent487638232f4c79d34e020411008254918a5267df
Bug 11258: fix another case where holds queue made transfer requests that contradict the library holds policy

This patch fixes a problem where the holds queue generator
was making requests where the pickup library is the
same as the item's library but not the patron's branch,
even if there is a "Default holds policy by item type" rule that states
this item can only fill holds for patrons of the same library as the
item.

Test Plan:
1) Create a test record with 2 items with different itemtypes
2) Set the Default holds policy by item type for the first
   item to "From any library"
3) Set the Default holds policy by item type for the second
   item to "From home library"
4) Place a record level hold for a patron from another library,
   but for pickup at the same library as the item is from
5) Rebuild the holds queue
6) View the holds queue, note the item is listed, though this
   patron cannot place a hold on this item
7) Apply this patch
8) Repeat step 5, note the hold is no longer in the queue

Signed-off-by: Liz Rea <liz@catalyst.net.nz>
automated tests pass, functional tests pass. Bug replicated, eradicated by patch.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
I finally managed to reproduce this, patch works as described.
Passes tests and QA script, provided tests fail without patch, but
succeed with the patch.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
(cherry picked from commit 79660377470e8d6ba9057eb59645886410852c92)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
C4/HoldsQueue.pm
t/db_dependent/HoldsQueue.t