From: Bill Erickson Date: Tue, 10 Apr 2012 20:24:59 +0000 (-0400) Subject: hold CAP/FILL blocks : avoid CAP-blocked holds in pull list X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=4fec4a198ff344c882e8a86982fd5b855b57e1c8;p=evergreen%2Fequinox.git hold CAP/FILL blocks : avoid CAP-blocked holds in pull list Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm index af696e65ef..e540635062 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/Publisher/action.pm @@ -505,10 +505,15 @@ sub hold_pull_list { FROM $h_table h JOIN $a_table a ON (h.current_copy = a.id) LEFT JOIN $ord_table ord ON (a.location = ord.location AND a.circ_lib = ord.org) + LEFT JOIN actor.usr_standing_penalty ausp + ON ( h.usr = ausp.usr AND ( ausp.stop_date IS NULL OR ausp.stop_date > NOW() ) ) + LEFT JOIN config.standing_penalty csp + ON ( csp.id = ausp.standing_penalty AND csp.block_list LIKE '%CAPTURE%' ) WHERE a.circ_lib = ? AND h.capture_time IS NULL AND h.cancel_time IS NULL AND (h.expire_time IS NULL OR h.expire_time > NOW()) + AND csp.id IS NULL $status_filter ORDER BY CASE WHEN ord.position IS NOT NULL THEN ord.position ELSE 999 END, h.request_time LIMIT $limit @@ -520,10 +525,15 @@ sub hold_pull_list { SELECT count(*) FROM $h_table h JOIN $a_table a ON (h.current_copy = a.id) + LEFT JOIN actor.usr_standing_penalty ausp + ON ( h.usr = ausp.usr AND ( ausp.stop_date IS NULL OR ausp.stop_date > NOW() ) ) + LEFT JOIN config.standing_penalty csp + ON ( csp.id = ausp.standing_penalty AND csp.block_list LIKE '%CAPTURE%' ) WHERE a.circ_lib = ? AND h.capture_time IS NULL AND h.cancel_time IS NULL AND (h.expire_time IS NULL OR h.expire_time > NOW()) + AND csp.id IS NULL $status_filter SQL }