Koha/koha-tmpl/intranet-tmpl/prog/en/modules/members/holdshistory.tt
Kyle M Hall cdf18a0015
Bug 31357: Separate holds history from intranetreadinghistory
Currently the system preference intranetreadinghistory determines visibility of both circulation history and holds history tabs in the patron record.  It would be helpful to allow the option of setting each of those independently.

Specifically, libraries have requested the option of being able to view the holds history in a patron record without having to enable viewing of the circulation history.

Test Plan:
1) Apply this patch
2) Restart all the things!
3) Run updatadatabase.pl
4) Verify the new syspref intranetReadingHistoryHolds has the same value
   as the existing syspref intranetreadinghistory
5) Disable intranetreadinghistory, enable intranetReadingHistoryHolds
6) Verify you can view a patron's holds history but not reading history

Signed-off-by: Sam Lau <samalau@gmail.com>

JD amended patch:
* renamed syspref intranetReadingHistoryHolds => IntranetReadingHistoryHolds
* tidy

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-10-20 16:31:16 -03:00

157 lines
5.2 KiB
Text

[% USE raw %]
[% USE Asset %]
[% USE KohaDates %]
[% USE Koha %]
[% USE AuthorisedValues %]
[% USE Branches %]
[% USE TablesSettings %]
[% USE ItemTypes %]
[% PROCESS 'i18n.inc' %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>[% FILTER collapse %]
[% t("Holds history for") | html %] [% INCLUDE 'patron-title.inc' no_html = 1 %] &rsaquo;
[% t("Patrons") | html %] &rsaquo;
[% t("Koha") | html %]
[% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
</head>
<body id="pat_holdshistory" class="pat">
[% WRAPPER 'header.inc' %]
[% INCLUDE 'patron-search-header.inc' %]
[% END %]
[% WRAPPER 'sub-header.inc' %]
[% WRAPPER breadcrumbs %]
[% WRAPPER breadcrumb_item %]
<a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>
[% END %]
[% WRAPPER breadcrumb_item %]
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% patron.borrowernumber | uri %]">[% INCLUDE 'patron-title.inc' %]</a>
[% END %]
[% WRAPPER breadcrumb_item bc_active= 1 %]
<span>Holds history</span>
[% END %]
[% END #/ WRAPPER breadcrumbs %]
[% END #/ WRAPPER sub-header.inc %]
<div class="main container-fluid">
<div class="row">
<div class="col-sm-10 col-sm-push-2">
<main>
[% INCLUDE 'members-toolbar.inc' %]
<h1>Holds history</h1>
[% UNLESS Koha.Preference('IntranetReadingHistoryHolds') %]
<div class="dialog alert">Staff members are not allowed to access patron's holds history</div>
[% ELSIF is_anonymous %]
<div class="dialog alert">This is the anonymous patron, so no holds history is displayed.</div>
[% ELSIF ( !holds ) %]
<div class="dialog message">This patron has no holds history.</div>
[% ELSE %]
[% SET show_itemtype_column = Koha.Preference('AllowHoldItemTypeSelection') %]
<div id="holdshistory" class="page-section">
<table id="table_holdshistory">
<thead>
<tr>
<th class="anti-the">Title</th>
<th>Author</th>
<th>Barcode</th>
<th>Library</th>
<th>Hold date</th>
<th>Expiration date</th>
<th>Waiting date</th>
<th>Cancellation date</th>
[% IF show_itemtype_column %]
<th>Requested item type</th>
[% END %]
<th>Status</th>
</tr>
</thead>
<tbody>
[% FOREACH hold IN holds %]
<tr>
<td>[% INCLUDE 'biblio-title.inc' biblio=hold.biblio link = 1 %]</td>
<td>[% hold.biblio.author | html %]</td>
<td>[% hold.item.barcode | html %]</td>
<td>[% Branches.GetName( hold.branchcode ) | html %]</td>
<td data-order="[% hold.reservedate | html %]">[% hold.reservedate | $KohaDates %]</td>
<td data-order="[% hold.expirationdate | html %]">
[% hold.expirationdate | $KohaDates %]
</td>
<td data-order="[% hold.waitingdate | html %]">
[% hold.waitingdate | $KohaDates %]
</td>
<td data-order="[% hold.cancellationdate | html %]">
[% hold.cancellationdate | $KohaDates %]
</td>
[% IF show_itemtype_column %]
<td>
[% IF hold.itemtype %]
[% ItemTypes.GetDescription( hold.itemtype ) | html %]
[% ELSE %]
<span>Any item type</span>
[% END %]
</td>
[% END %]
<td>
[% IF hold.found == 'F' %]
<span>Fulfilled</span>
[% ELSIF hold.cancellationdate %]
<span>Cancelled</span>
[% IF hold.cancellation_reason %]
([% AuthorisedValues.GetByCode('HOLD_CANCELLATION', hold.cancellation_reason) | html %])
[% END %]
[% ELSIF hold.found == 'W' %]
<span>Waiting</span>
[% ELSIF hold.found == 'P' %]
<span>Processing</span>
[% ELSIF hold.found == 'T' %]
<span>In transit</span>
[% ELSE %]
<span>Pending</span>
[% END %]
</td>
</tr>
[% END %]
</tbody>
</table>
</div>
[% END %]
</main>
</div> <!-- /.col-sm-10.col-sm-push-2 -->
<div class="col-sm-2 col-sm-pull-10">
<aside>
[% INCLUDE 'circ-menu.inc' %]
</aside>
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
</div> <!-- /.row -->
[% MACRO jsinclude BLOCK %]
[% INCLUDE 'datatables.inc' %]
[% INCLUDE 'columns_settings.inc' %]
[% INCLUDE 'str/members-menu.inc' %]
[% Asset.js("js/members-menu.js") | $raw %]
<script>
$(document).ready(function() {
var table_settings = [% TablesSettings.GetTableSettings('members', 'holdshistory', 'holdshistory-table', 'json') | $raw %];
[% UNLESS show_itemtype_column %]
//Remove item type column settings
table_settings['columns'] = table_settings['columns'].filter(function(c){return c['columnname'] != 'itemtype';});
[% END %]
var table = KohaTable("table_holdshistory", {
"sPaginationType": "full",
"aaSorting": [[4, 'desc']]
}, table_settings);
});
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]