From 10d62d35f4aa0af3148ffe6ad0fa19dd92add1b8 Mon Sep 17 00:00:00 2001 From: Art Rhyno Date: Fri, 27 Jul 2012 11:39:14 -0400 Subject: [PATCH] Block "Place Hold" link in TPAC if item is available Suppress the display of the "Place Hold" link based on whether an item is available. This is set as a preference in config.tt2. Some sites may want the ability to place holds regardless of availability. Signed-off-by: Art Rhyno Signed-off-by: Dan Scott --- Open-ILS/src/templates/opac/parts/config.tt2 | 9 +++++++++ Open-ILS/src/templates/opac/parts/misc_util.tt2 | 4 +++- Open-ILS/src/templates/opac/parts/record/summary.tt2 | 2 ++ Open-ILS/src/templates/opac/parts/result/table.tt2 | 2 ++ 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Open-ILS/src/templates/opac/parts/config.tt2 b/Open-ILS/src/templates/opac/parts/config.tt2 index 813280aeff..f23ef4d492 100644 --- a/Open-ILS/src/templates/opac/parts/config.tt2 +++ b/Open-ILS/src/templates/opac/parts/config.tt2 @@ -6,6 +6,15 @@ ############################################################################## ############################################################################## +# Holds blocking +############################################################################## +# Prevent the "Place hold" link from being displayed if a copy is available. +# This is not perfect, given the umpteen different types of holds that are +# possible, but addresses the major use case for libraries that don't want +# to fetch copies from the shelves. +ctx.holds_block.enabled = 'false'; + +############################################################################## # RefWorks configuration ############################################################################## # RefWorks is a Web-based citation manager diff --git a/Open-ILS/src/templates/opac/parts/misc_util.tt2 b/Open-ILS/src/templates/opac/parts/misc_util.tt2 index 524a66b94f..124d1245c7 100644 --- a/Open-ILS/src/templates/opac/parts/misc_util.tt2 +++ b/Open-ILS/src/templates/opac/parts/misc_util.tt2 @@ -238,10 +238,12 @@ FOR node IN xml.findnodes(xpath); FOR attr IN ['count', 'available', 'unshadow', 'transcendant', 'org_unit']; depth = node.getAttribute('depth'); + org_unit = node.getAttribute('org_unit'); args.copy_counts.$depth.$attr = node.getAttribute(attr); + args.org_copy_counts.$org_unit.$attr = node.getAttribute(attr); END; END; - + # Get preferred library copy count args.plib_copy_counts = {}; count_type = 'pref_lib'; diff --git a/Open-ILS/src/templates/opac/parts/record/summary.tt2 b/Open-ILS/src/templates/opac/parts/record/summary.tt2 index 9f83fc62a6..75a5964783 100644 --- a/Open-ILS/src/templates/opac/parts/record/summary.tt2 +++ b/Open-ILS/src/templates/opac/parts/record/summary.tt2 @@ -23,12 +23,14 @@
+ [%- search_ou = ctx.search_ou; IF attrs.org_copy_counts.$search_ou.available == 0 OR ctx.holds_block.enabled == 'false' %] + [%- END -%]
[% IF ctx.user; INCLUDE "opac/parts/bookbag_actions.tt2"; diff --git a/Open-ILS/src/templates/opac/parts/result/table.tt2 b/Open-ILS/src/templates/opac/parts/result/table.tt2 index 662041ebdd..3a60ed1317 100644 --- a/Open-ILS/src/templates/opac/parts/result/table.tt2 +++ b/Open-ILS/src/templates/opac/parts/result/table.tt2 @@ -216,6 +216,7 @@
+ [%- search_ou = ctx.search_ou; IF attrs.org_copy_counts.$search_ou.available == 0 OR ctx.holds_block.enabled == 'false' %] + [%- END -%]
[% IF ctx.user; INCLUDE "opac/parts/bookbag_actions.tt2"; -- 2.11.0