From 3ff5e44a3dd88af35d7ed81fc7acfc28ec5348b7 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Fri, 23 Mar 2018 16:15:36 -0400 Subject: [PATCH] LP#1750894 Cascade settings retrieve API Signed-off-by: Bill Erickson --- Open-ILS/examples/fm_IDL.xml | 30 ++++++++++++++++++++-- Open-ILS/src/perlmods/MANIFEST | 1 + .../src/perlmods/lib/OpenILS/Application/Actor.pm | 1 + .../upgrade/XXXX.schema.workstation-settings.sql | 9 ++++--- 4 files changed, 35 insertions(+), 6 deletions(-) diff --git a/Open-ILS/examples/fm_IDL.xml b/Open-ILS/examples/fm_IDL.xml index 259ea853c8..e798ef29df 100644 --- a/Open-ILS/examples/fm_IDL.xml +++ b/Open-ILS/examples/fm_IDL.xml @@ -12358,10 +12358,36 @@ SELECT usr, - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Open-ILS/src/perlmods/MANIFEST b/Open-ILS/src/perlmods/MANIFEST index cb980a6e22..8473b19ce2 100644 --- a/Open-ILS/src/perlmods/MANIFEST +++ b/Open-ILS/src/perlmods/MANIFEST @@ -18,6 +18,7 @@ lib/OpenILS/Application/Actor/Container.pm lib/OpenILS/Application/Actor/Friends.pm lib/OpenILS/Application/Actor/Stage.pm lib/OpenILS/Application/Actor/UserGroups.pm +lib/OpenILS/Application/Actor/Settings.pm lib/OpenILS/Application/AppUtils.pm lib/OpenILS/Application/Booking.pm lib/OpenILS/Application/Cat.pm diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm index e62982e79f..503cf35a44 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Actor.pm @@ -31,6 +31,7 @@ use OpenILS::Application::Actor::ClosedDates; use OpenILS::Application::Actor::UserGroups; use OpenILS::Application::Actor::Friends; use OpenILS::Application::Actor::Stage; +use OpenILS::Application::Actor::Settings; use OpenILS::Utils::CStoreEditor qw/:funcs/; use OpenILS::Utils::Penalty; diff --git a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.workstation-settings.sql b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.workstation-settings.sql index c091320d1e..ddb927c062 100644 --- a/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.workstation-settings.sql +++ b/Open-ILS/src/sql/Pg/upgrade/XXXX.schema.workstation-settings.sql @@ -97,10 +97,11 @@ BEGIN END IF; -- Workstation setting not found. However, since we have a - -- workstation let's use its owning_lib as our context org unit - -- instead of the value provided by 'org_id' which could be NULL. - SELECT INTO org_id owning_lib - FROM actor.workstation WHERE id = workstation_id; + -- workstation let's use its owning_lib if necessary. + IF org_id IS NULL THEN + SELECT INTO org_id owning_lib + FROM actor.workstation WHERE id = workstation_id; + END IF; END IF; -- Some org unit settings are protected by a view permission. -- 2.11.0