From 48ffa65167730bdd0181242334afa5a1e5b4b3f4 Mon Sep 17 00:00:00 2001
From: David Cook <dcook@prosentient.com.au>
Date: Wed, 7 Jul 2021 06:10:32 +0000
Subject: [PATCH] Bug 15516: Show user's hold groups to user via OPAC
This patch shows the item-level and bib-level holds in a hold group
for the user's holds in the OPAC. This includes both the opac-user.pl
page and the self-checkout hold display.
Signed-off-by: Michal Denar <black23@gmail.com>
---
.../opac-tmpl/bootstrap/en/includes/holds-table.inc | 20 ++++++++++++++++++++
.../opac-tmpl/bootstrap/en/modules/opac-user.tt | 1 +
.../opac-tmpl/bootstrap/en/modules/sco/sco-main.tt | 2 +-
koha-tmpl/opac-tmpl/bootstrap/js/holds.js | 5 +++++
4 files changed, 27 insertions(+), 1 deletion(-)
create mode 100644 koha-tmpl/opac-tmpl/bootstrap/js/holds.js
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/includes/holds-table.inc b/koha-tmpl/opac-tmpl/bootstrap/en/includes/holds-table.inc
index 70b6901034..7bf436a0a8 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/includes/holds-table.inc
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/includes/holds-table.inc
@@ -59,6 +59,26 @@
[% IF HOLD.item_level_hold %]
<p class="hint">Item on hold: [% HOLD.item.barcode | html %]</p>
[% END %]
+ [% IF HOLD.hold_group_id %]
+ <div class="group_hold">
+ <span class="hint">(part of a hold group)</span>
+ <div class="group_hold_list" style="display:none">
+ [% group_holds = HOLD.hold_group.holds %]
+ [% IF ( group_holds.count ) %]
+ <span class="hint">Containing the following:</span>
+ <ul>
+ [% FOREACH hg_member IN group_holds %]
+ <li>
+ <a href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% hg_member.biblionumber | uri %]">
+ [% IF hg_member.itemnumber %]Item [% IF ( hg_item = hg_member.item ); hg_item.barcode | html; END; %][% ELSE %]Record [% hg_member.biblionumber | html %][% END %]
+ </a>
+ </li>
+ [% END %]
+ </ul>
+ [% END %]
+ </div>
+ </div>
+ [% END %]
</td>
<td class="reservedate" data-order="[% HOLD.reservedate | html %]">
<span class="tdlabel">Hold date:</span>
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
index 11275fab5f..27743320a4 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-user.tt
@@ -1393,4 +1393,5 @@
});
</script>
[% END %]
+ [% Asset.js("js/holds.js") | $raw %]
[% END %]
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/modules/sco/sco-main.tt b/koha-tmpl/opac-tmpl/bootstrap/en/modules/sco/sco-main.tt
index 7feec7e2fc..6eefa057a0 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/modules/sco/sco-main.tt
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/modules/sco/sco-main.tt
@@ -535,6 +535,6 @@
});
</script>
-
+ [% Asset.js("js/holds.js") | $raw %]
[% IF ( Koha.Preference('SCOUserJS') ) %]<script>[% Koha.Preference('SCOUserJS') | $raw %]</script>[% END %]
[% END %]
diff --git a/koha-tmpl/opac-tmpl/bootstrap/js/holds.js b/koha-tmpl/opac-tmpl/bootstrap/js/holds.js
new file mode 100644
index 0000000000..734c544adf
--- /dev/null
+++ b/koha-tmpl/opac-tmpl/bootstrap/js/holds.js
@@ -0,0 +1,5 @@
+$(document).ready(function(){
+ $("div.group_hold").click(function(){
+ $(this).find("div.group_hold_list").toggle();
+ });
+});
--
2.11.0