Koha/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-holdshistory.tt
Owen Leonard da2d583591 Bug 28018: Replace obsolete title-string sorting: OPAC templates
This patch modifies OPAC templates to replace the use of the
"title-string" DataTables sorting method with the newer "data-order"
attribute.

To test, apply the patch and view the following pages to confirm that
columns containing dates sort correctly when using any setting of the
"dateformat" system preference:

- As a logged-in user, (proper testing will depend on having the
  relevant data associated with your user, e.g. holds, searches, ill
  requests, etc.):
  - Your summary
    - Checkouts
    - Overdues
    - Holds
  - Your charges
  - Your search history
  - Your checkout history
  - Your holds history
  - Your interlibrary loan requests
  - Your tags
- Bibliographic detail page
  - With a non-serial record: Holdings
  - With a serial record: Latest issues
    - More details -> Full history: Test multiple years if possible
- Course reserves -> Course details
- Self checkout -> Check out to a patron with checkouts

Signed-off-by: Amit Gupta <amitddng135@gmail.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-04-06 15:56:31 +02:00

185 lines
9.4 KiB
Text

[% USE raw %]
[% USE Koha %]
[% USE Branches %]
[% USE KohaDates %]
[% USE TablesSettings %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Your holds history &rsaquo; [% IF ( LibraryNameTitle ) %][% LibraryNameTitle | html %][% ELSE %]Koha online[% END %] catalog</title>
[% INCLUDE 'doc-head-close.inc' %]
[% BLOCK cssinclude %]
<style>
.controls .paginate_button {
font-family: 'FontAwesome';
text-decoration: none;
}
.controls .paginate_button:not(.disabled) {
cursor: pointer;
}
.controls .paginate_button.disabled {
color: grey;
}
.controls .previous:before {
content: "\f104";
padding-right: .5em;
}
.controls .next:after {
content: "\f105";
padding-left: .5em;
}
</style>
[% END %]
</head>
[% INCLUDE 'bodytag.inc' bodyid='opac-holdshistory' %]
[% INCLUDE 'masthead.inc' %]
<div class="main">
<ul class="breadcrumb">
<li><a href="/cgi-bin/koha/opac-main.pl">Home</a> <span class="divider">&rsaquo;</span></li>
<li><a href="/cgi-bin/koha/opac-user.pl">[% INCLUDE 'patron-title.inc' patron = logged_in_user %]</a> <span class="divider">&rsaquo;</span></li>
<li><a href="#">Your holds history</a></li>
</ul>
<div class="container-fluid">
<div class="row">
<div class="col col-lg-2 order-2 order-lg-1">
<div id="navigation">
[% INCLUDE 'navigation.inc' IsPatronPage=1 %]
</div>
</div>
<div class="col-md-12 col-lg-10 order-1">
<div id="userholdshistory">
<h1>Holds history</h1>
[% IF !holds %]
You have never placed a hold from this library.
[% ELSE %]
<div id="opac-user-holdsrec">
<div id="tabs-container">
<div class="controls">
<div class="resultscontrol resort">
<form id="sortform" action="/cgi-bin/koha/opac-holdshistory.pl" method="get">
[% IF ( unlimit ) %]<input type="hidden" name="unlimit" value="1" />[% END %]
<select name="sort" id="sort">
[% IF ( sort == 'reservedate' ) %]<option value="reservedate" selected="selected">Order by date</option>[% ELSE %]<option value="reservedate">Order by date</option>[% END %]
[% IF ( sort == 'biblio.title' ) %]<option value="biblio.title" selected="selected">Order by title</option>[% ELSE %]<option value="biblio.title">Order by title</option>[% END %]
[% IF ( sort == 'biblio.author' ) %]<option value="biblio.author" selected="selected">Order by author</option>[% ELSE %]<option value="biblio.author">Order by author</option>[% END %]
</select>
<input type="submit" value="Go" id="sortsubmit" class="submit clearfix" />
</form>
</div>
[% UNLESS unlimit %]
<p>
Showing 50 items. <a href="/cgi-bin/koha/opac-holdshistory.pl?unlimit=1[% IF ( sort ) %]&amp;sort=[% sort | url %][% END %]">Show all items</a>
</p>
[% ELSE %]
<p>
Showing all items. <a href="/cgi-bin/koha/opac-holdshistory.pl[% IF ( sort ) %]?sort=[% sort | url %][% END %]">Show 50 items</a>
</p>
[% END %]
</div>
<table id="table_holdshistory" class="table table-bordered table-striped">
<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><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% hold.biblio.biblionumber | uri %]">[% INCLUDE 'biblio-title.inc' biblio=hold.biblio %]</a></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 %]">
[% IF hold.expirationdate %]
[% hold.expirationdate | $KohaDates %]
[% END %]
</td>
<td data-order="[% hold.waitingdate | html %]">
[% IF hold.waitingdate %]
[% hold.waitingdate | $KohaDates %]
[% END %]
</td>
<td data-order="[% hold.cancellationdate | html %]">
[% IF hold.cancellationdate %]
[% hold.cancellationdate | $KohaDates %]
[% END %]
</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' %]
Fulfilled
[% ELSIF hold.cancellationdate %]
Cancelled
[% ELSIF hold.found == 'W' %]
Waiting
[% ELSIF hold.found == 'T' %]
In transit
[% ELSE %]
Pending
[% END %]
</td>
</tr>
[% END %]
</tbody>
</table>
</div> <!-- / .tabs-container -->
</div> <!-- / .opac-user-holdsrec -->
[% END # / IF old_holds_count %]
</div> <!-- / .userholdshistory -->
</div> <!-- / .span10 -->
</div> <!-- / .row-fluid -->
</div> <!-- / .container-fluid -->
</div> <!-- / .main -->
[% INCLUDE 'opac-bottom.inc' %]
[% BLOCK jsinclude %]
[% INCLUDE 'datatables.inc' %]
[% INCLUDE 'columns_settings.inc' %]
<script>
$(document).ready(function() {
$('#sort').change(function() {
$('#sortform').submit();
});
var columns_settings = []; // Empty because there are no columns we want to be configurable
var table = KohaTable("#table_holdshistory", {
"dom": '<"top"<"table_entries"i><"table_controls"fB>>t',
"autoWidth": false,
"sorting": [[4, 'desc']],
"columnDefs": [
{ "sType": "anti-the", "aTargets" : [ "anti-the" ] }
],
"language": {
"search": "_INPUT_",
"searchPlaceholder": _("Search")
}
}, columns_settings);
});
</script>
[% END %]