From: Mike Rylander Date: Tue, 23 Aug 2016 20:59:33 +0000 (-0400) Subject: LP#1464709: Disentangle on-holds-shelf from is_available X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=f0aa5d587467a42e61669f1d3e417489e57813d3;p=evergreen%2Ftadl.git LP#1464709: Disentangle on-holds-shelf from is_available Avoid treating On-Holds-Shelf items as is_available so they do not appear in the catalog as #available. Signed-off-by: Mike Rylander Signed-off-by: Bill Erickson --- diff --git a/Open-ILS/src/sql/Pg/100.circ_matrix.sql b/Open-ILS/src/sql/Pg/100.circ_matrix.sql index 566588b63e..53b207a3b6 100644 --- a/Open-ILS/src/sql/Pg/100.circ_matrix.sql +++ b/Open-ILS/src/sql/Pg/100.circ_matrix.sql @@ -499,7 +499,7 @@ BEGIN END IF; -- Fail if the item isn't in a circulateable status on a non-renewal - IF NOT renewal AND item_object.status NOT IN ( + IF NOT renewal AND item_object.status <> 8 AND item_object.status NOT IN ( (SELECT id FROM config.copy_status WHERE is_available) ) THEN result.fail_part := 'asset.copy.status'; result.success := FALSE; diff --git a/Open-ILS/src/sql/Pg/950.data.seed-values.sql b/Open-ILS/src/sql/Pg/950.data.seed-values.sql index c198d35276..e8228c8e49 100644 --- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql +++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql @@ -314,7 +314,7 @@ INSERT INTO config.copy_status (id,name) VALUES (4,oils_i18n_gettext(4, 'Missing INSERT INTO config.copy_status (id,name,holdable,opac_visible) VALUES (5,oils_i18n_gettext(5, 'In process', 'ccs', 'name'),'t','t'); INSERT INTO config.copy_status (id,name,holdable,opac_visible,restrict_copy_delete) VALUES (6,oils_i18n_gettext(6, 'In transit', 'ccs', 'name'),'t','t','t'); INSERT INTO config.copy_status (id,name,holdable,opac_visible,copy_active,is_available) VALUES (7,oils_i18n_gettext(7, 'Reshelving', 'ccs', 'name'),'t','t','t','t'); -INSERT INTO config.copy_status (id,name,holdable,opac_visible,copy_active,restrict_copy_delete,is_available) VALUES (8,oils_i18n_gettext(8, 'On holds shelf', 'ccs', 'name'),'t','t','t','t','t'); +INSERT INTO config.copy_status (id,name,holdable,opac_visible,copy_active,restrict_copy_delete) VALUES (8,oils_i18n_gettext(8, 'On holds shelf', 'ccs', 'name'),'t','t','t','t'); INSERT INTO config.copy_status (id,name,holdable,opac_visible) VALUES (9,oils_i18n_gettext(9, 'On order', 'ccs', 'name'),'t','t'); INSERT INTO config.copy_status (id,name,copy_active) VALUES (10,oils_i18n_gettext(10, 'ILL', 'ccs', 'name'),'t'); INSERT INTO config.copy_status (id,name) VALUES (11,oils_i18n_gettext(11, 'Cataloging', 'ccs', 'name')); diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.copy_status_co_allowed.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.copy_status_co_allowed.sql index b787c1adad..1777681377 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.copy_status_co_allowed.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.copy_status_co_allowed.sql @@ -4,7 +4,7 @@ ALTER TABLE config.copy_status ADD COLUMN is_available BOOL NOT NULL DEFAULT FALSE; UPDATE config.copy_status SET is_available = TRUE - WHERE id IN (0, 7, 8); -- available, reshelving, holds shelf. + WHERE id IN (0, 7); -- available, reshelving. CREATE OR REPLACE FUNCTION action.item_user_circ_test( circ_ou INT, match_item BIGINT, match_user INT, renewal BOOL ) RETURNS SETOF action.circ_matrix_test_result AS $func$ DECLARE @@ -92,7 +92,7 @@ BEGIN END IF; -- Fail if the item isn't in a circulateable status on a non-renewal - IF NOT renewal AND item_object.status NOT IN ( + IF NOT renewal AND item_object.status <> 8 AND item_object.status NOT IN ( (SELECT id FROM config.copy_status WHERE is_available) ) THEN result.fail_part := 'asset.copy.status'; result.success := FALSE;