From a611e49f52f09c42c29d47b0841fbe0d44e82ff4 Mon Sep 17 00:00:00 2001 From: Mike Rylander Date: Tue, 28 Jan 2014 11:35:50 -0500 Subject: [PATCH] Allow YAOUS to control ILL mediation Signed-off-by: Mike Rylander Signed-off-by: Bill Erickson --- Open-ILS/src/sql/Pg/fulfillment-mods.sql | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Open-ILS/src/sql/Pg/fulfillment-mods.sql b/Open-ILS/src/sql/Pg/fulfillment-mods.sql index 7d70751351..ec9e5bf61d 100644 --- a/Open-ILS/src/sql/Pg/fulfillment-mods.sql +++ b/Open-ILS/src/sql/Pg/fulfillment-mods.sql @@ -98,6 +98,15 @@ $func$ LANGUAGE PLPGSQL; -- Triggers ------------------------------------------------------------------ +CREATE FUNCTION action.hold_request_mediated () RETURNS TRIGGER AS $f$ +BEGIN + SELECT COALESCE(oils_json_to_text(value)::BOOL,FALSE) INTO NEW.frozen FROM actor.org_unit_ancestor_setting('ff.request.force_mediation', NEW.request_lib)); + RETURN NEW; +END; +$f$ LANGUAGE PLPGSQL; + +CREATE TRIGGER ahr_mediation_tgr BEFORE INSERT ON action.hold_request + FOR EACH ROW EXECUTE PROCEDURE action.hold_request_mediated (); CREATE OR REPLACE FUNCTION biblio.item_load_trigger () RETURNS TRIGGER AS $$ BEGIN @@ -382,6 +391,15 @@ VALUES ( 'string' ); +-- force staff mediated ILL requests +INSERT INTO config.org_unit_setting_type ( name, label, description, datatype ) + VALUES ( + 'ff.request.force_mediation', + oils_i18n_gettext('ff.request.force_mediation', 'ILL: Force initial staff-mediation for all requests', 'coust', 'label'), + oils_i18n_gettext('ff.request.force_mediation', 'When patrons belonging to this org unit place an ILL request, it starts frozen to force staff mediation', 'coust', 'description'), + 'bool' + ); + INSERT INTO config.org_unit_setting_type (name, label, description, datatype) VALUES ( 'ff.remote.connector.extra.sip2.host', -- 2.11.0