From 33206c48b22e811eda7e4902d9e593b5343260a0 Mon Sep 17 00:00:00 2001 From: Bill Erickson Date: Fri, 30 Aug 2013 16:49:58 -0400 Subject: [PATCH] LP#856688 OUS to disable org unit as hold pickup lib YAOUS that removes an org unit from consideration as a hold pickup library. This setting only affects the OPAC display and does not otherwise affect the display of the org unit in the OPAC. (In other words, it's not the same thing as actor.org_unit.opac_visible). It also has no affect on hold targeting / capturing. [LFW: Numbered upgrade script.] Signed-off-by: Bill Erickson Signed-off-by: Lebbeous Fogle-Weekley --- Open-ILS/src/sql/Pg/002.schema.config.sql | 2 +- Open-ILS/src/sql/Pg/950.data.seed-values.sql | 19 ++++++++++++++++ .../Pg/upgrade/0828.data.org-not-pickup.sql | 22 +++++++++++++++++++ .../src/templates/opac/myopac/holds/edit.tt2 | 3 ++- .../src/templates/opac/parts/org_selector.tt2 | 5 +++++ .../src/templates/opac/parts/place_hold.tt2 | 4 +++- 6 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 Open-ILS/src/sql/Pg/upgrade/0828.data.org-not-pickup.sql diff --git a/Open-ILS/src/sql/Pg/002.schema.config.sql b/Open-ILS/src/sql/Pg/002.schema.config.sql index 1654fb2f98..64d9042bf9 100644 --- a/Open-ILS/src/sql/Pg/002.schema.config.sql +++ b/Open-ILS/src/sql/Pg/002.schema.config.sql @@ -91,7 +91,7 @@ CREATE TRIGGER no_overlapping_deps BEFORE INSERT OR UPDATE ON config.db_patch_dependencies FOR EACH ROW EXECUTE PROCEDURE evergreen.array_overlap_check ('deprecates'); -INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0827', :eg_version); -- rsteed/miker +INSERT INTO config.upgrade_log (version, applied_to) VALUES ('0828', :eg_version); -- berick/senator CREATE TABLE config.bib_source ( id SERIAL PRIMARY KEY, 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 5a0d7ba11f..30e6b3eae2 100644 --- a/Open-ILS/src/sql/Pg/950.data.seed-values.sql +++ b/Open-ILS/src/sql/Pg/950.data.seed-values.sql @@ -13338,3 +13338,22 @@ VALUES ( ); + + +INSERT into config.org_unit_setting_type + (name, grp, label, description, datatype) +VALUES ( + 'opac.holds.org_unit_not_pickup_lib', + 'opac', + oils_i18n_gettext('opac.holds.org_unit_not_pickup_lib', + 'OPAC: Org Unit is not a hold pickup library', + 'coust', 'label'), + oils_i18n_gettext('opac.holds.org_unit_not_pickup_lib', + 'If set, this org unit will not be offered to the patron as an '|| + 'option for a hold pickup location. This setting has no affect '|| + 'on searching or hold targeting', + 'coust', 'description'), + 'bool' +); + + diff --git a/Open-ILS/src/sql/Pg/upgrade/0828.data.org-not-pickup.sql b/Open-ILS/src/sql/Pg/upgrade/0828.data.org-not-pickup.sql new file mode 100644 index 0000000000..0b5120a539 --- /dev/null +++ b/Open-ILS/src/sql/Pg/upgrade/0828.data.org-not-pickup.sql @@ -0,0 +1,22 @@ +BEGIN; + +SELECT evergreen.upgrade_deps_block_check('0828', :eg_version); + +INSERT into config.org_unit_setting_type + (name, grp, label, description, datatype) +VALUES ( + 'opac.holds.org_unit_not_pickup_lib', + 'opac', + oils_i18n_gettext('opac.holds.org_unit_not_pickup_lib', + 'OPAC: Org Unit is not a hold pickup library', + 'coust', 'label'), + oils_i18n_gettext('opac.holds.org_unit_not_pickup_lib', + 'If set, this org unit will not be offered to the patron as an '|| + 'option for a hold pickup location. This setting has no affect '|| + 'on searching or hold targeting', + 'coust', 'description'), + 'bool' +); + +COMMIT; + diff --git a/Open-ILS/src/templates/opac/myopac/holds/edit.tt2 b/Open-ILS/src/templates/opac/myopac/holds/edit.tt2 index 3415546110..271cdad18a 100644 --- a/Open-ILS/src/templates/opac/myopac/holds/edit.tt2 +++ b/Open-ILS/src/templates/opac/myopac/holds/edit.tt2 @@ -48,7 +48,8 @@ [% INCLUDE build_org_selector - name='pickup_lib' value=ahr.pickup_lib can_have_vols_only=1 %] + name='pickup_lib' value=ahr.pickup_lib + can_have_vols_only=1 hold_pickup_lib=1 %] [% IF hold.hold.status < 3 OR hold.hold.status == 7 %] diff --git a/Open-ILS/src/templates/opac/parts/org_selector.tt2 b/Open-ILS/src/templates/opac/parts/org_selector.tt2 index 4625023107..0246628482 100644 --- a/Open-ILS/src/templates/opac/parts/org_selector.tt2 +++ b/Open-ILS/src/templates/opac/parts/org_selector.tt2 @@ -97,6 +97,11 @@ BLOCK build_org_selector; selected = 'selected="selected"'; END; + IF hold_pickup_lib AND ctx.get_org_setting( + org_unit.id, 'opac.holds.org_unit_not_pickup_lib'); + disabled = 'disabled="disabled"'; + END; + # caller provided a list of valid org units. # all orgs not in the list are marked invalid. IF valid_org_list AND diff --git a/Open-ILS/src/templates/opac/parts/place_hold.tt2 b/Open-ILS/src/templates/opac/parts/place_hold.tt2 index 07bdcc7374..9b410fba2b 100644 --- a/Open-ILS/src/templates/opac/parts/place_hold.tt2 +++ b/Open-ILS/src/templates/opac/parts/place_hold.tt2 @@ -72,7 +72,9 @@ [%- org_select_id = 'pickup_lib'; -%] [% PROCESS "opac/parts/org_selector.tt2"; - INCLUDE build_org_selector name='pickup_lib' value=ctx.default_pickup_lib id=org_select_id can_have_vols_only=1 %] + INCLUDE build_org_selector name='pickup_lib' + value=ctx.default_pickup_lib id=org_select_id + can_have_vols_only=1 hold_pickup_lib=1 %]

[% l('Notify when hold is ready for pickup?') %] -- 2.43.2