From: Bill Erickson Date: Tue, 10 Apr 2012 20:24:59 +0000 (-0400) Subject: Avoid CAPTURE-blocked holds in pull list X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=552d362b2e7ac37eba446101b31ca2d5d9ddebbf;p=working%2FEvergreen.git Avoid CAPTURE-blocked holds in pull list Otherwise, staff will be pulling items for holds that cannot be captured. Signed-off-by: Bill Erickson Signed-off-by: Jason Stephenson --- 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 78b05961ac..d80fbafd93 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 }