From 9d0a2cffe8d4a1baace339d31b3db0a540f86ed6 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Fri, 31 May 2013 11:06:27 -0400 Subject: [PATCH] LP1182519 Per-Hold Behind Desk SQL/IDL Signed-off-by: Bill Erickson --- .../upgrade/XXXX.schema.per-hold-behind-desk.sql | 23 ++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.per-hold-behind-desk.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.per-hold-behind-desk.sql index 3c12dcdeb1..4f0458cb0a 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.per-hold-behind-desk.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.per-hold-behind-desk.sql @@ -5,4 +5,27 @@ SELECT evergreen.upgrade_deps_block_check('XXXX', :eg_version); ALTER TABLE action.hold_request ADD COLUMN behind_desk BOOLEAN NOT NULL DEFAULT FALSE; +-- The value on the hold is the new arbiter of whether a +-- hold should be held behind the desk and reported as such +-- Update existing holds that would in the current regime +-- be considered behind-the-desk holds to use the new column + +UPDATE action.hold_request ahr + SET behind_desk = TRUE + FROM actor.usr_setting aus + WHERE + ahr.cancel_time IS NULL AND + ahr.fulfillment_time IS NULL AND + aus.usr = ahr.usr AND + aus.name = 'circ.holds_behind_desk' AND + aus.value = 'true' AND + EXISTS ( + SELECT 1 + FROM actor.org_unit_ancestor_setting( + 'circ.holds.behind_desk_pickup_supported', + ahr.pickup_lib + ) + WHERE value = 'true' + ); + COMMIT; -- 2.11.0