Koha/koha-tmpl/intranet-tmpl/prog/en/modules/members/readingrec.tt
Jonathan Druart d3f3a55e0b Bug 26234: Teach our KohaTable constructor the specific th classes
We have different classes we can use to set specific behaviours on
table columns: title-string, string-sort, anti-the and NoSort.
We should not need to pass them to the DataTable constructor, we could
teach it that we always want to apply them.

It will avoid bug like bug 26233

The goal is to define them in a centralised place
(columns_settings.inc) then only use the class on the th

Test plan:
Different behaviour and tables must be tested to confirm it works
correctly. Focus must be put on table when aoColumnsDefs is passed from
the template and confirm that this will add more info to aoColumnsDefs
and not remove the existing ones.

Note that this only work when KohaTable is used.

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

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

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2020-08-19 08:24:04 +02:00

157 lines
6 KiB
Text

[% USE raw %]
[% USE Asset %]
[% USE KohaDates %]
[% USE Koha %]
[% USE AuthorisedValues %]
[% USE Branches %]
[% USE TablesSettings %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Circulation History for [% INCLUDE 'patron-title.inc' no_html = 1 %]</title>
[% INCLUDE 'doc-head-close.inc' %]
</head>
<body id="pat_readingrec" class="pat">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'patron-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a> &rsaquo; Circulation history for [% INCLUDE 'patron-title.inc' %]</div>
<div class="main container-fluid">
<div class="row">
<div class="col-sm-10 col-sm-push-2">
<main>
[% INCLUDE 'members-toolbar.inc' %]
<h1>Circulation history</h1>
[% UNLESS Koha.Preference('intranetreadinghistory') %]
<div class="dialog alert">Staff members are not allowed to access patron's checkout history</div>
[% ELSIF is_anonymous %]
<div class="dialog alert">This is the anonymous patron, so no circulation history is displayed. To get a list of anonymized loans, please run a report.</div>
[% ELSIF ( patron.privacy == 2) %]
<div class="dialog message">This patron has set the privacy rules to never keeping a circulation history.</div>
[% ELSIF ( !loop_reading ) %]
<div class="dialog message">This patron has no circulation history.</div>
[% ELSE %]
<form action="/cgi-bin/koha/members/readingrec.pl" method="get"><input type="hidden" name="borrowernumber" id="borrowernumber" value="[% patron.borrowernumber | html %]" /></form>
<div id="tabs" class="toptabs">
[% IF Koha.Preference('OnSiteCheckouts') %]
<ul>
<li><a href="#readingrec" id="tab_all">All</a></li>
<li><a href="#readingrec" id="tab_checkout">Checkouts</a></li>
<li><a href="#readingrec" id="tab_onsite_checkout">On-site checkouts</a></li>
</ul>
[% END %]
<div id="readingrec">
<table id="table_readingrec">
<thead>
<tr>
<th style="display:none;">Type</th>
<th class="title-string">Date</th>
<th class="anti-the">Title</th>
<th>Author</th>
<th>Call no.</th>
<th>Barcode</th>
<th>Number of renewals</th>
<th class="title-string">Checked out on</th>
<th>Checked out from</th>
<th class="title-string">Date due</th>
<th class="title-string">Return date</th>
</tr>
</thead>
<tbody>
[% FOREACH issue IN loop_reading %]
[% IF issue.returndate %]<tr>[% ELSE %]<tr class="onissue">[% END %]
<td style="display:none;">
[% IF issue.onsite_checkout %][% issuetype = 'onsite_checkout' | html %]
[% ELSE %][% issuetype = 'standard_checkout' | html %]
[% END %]
[% issuetype | html %]
</td>
<td>
<span title="[% issue.issuestimestamp | html %]">[% issue.issuestimestamp | $KohaDates with_hours => 1 %]</span>
</td>
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% issue.biblionumber | uri %]">[% INCLUDE 'biblio-title.inc' biblio=issue %]</a></td>
<td>[% issue.author | html %]</td>
<td>
[% IF issue.classification %]
[% issue.classification | html %]
[% ELSE %]
[% issue.itemcallnumber | html %]
[% END %]
</td>
<td><a href="/cgi-bin/koha/catalogue/moredetail.pl?itemnumber=[% issue.itemnumber | uri %]&amp;biblionumber=[% issue.biblionumber | uri %]&amp;bi=[% issue.biblioitemnumber | uri %]#item[% issue.itemnumber | uri %]">[% issue.barcode | html %]</a></td>
<td>[% issue.renewals | html %]</td>
<td>
<span title="[% issue.issuedate | html %]">[% issue.issuedate |$KohaDates with_hours => 1 %]</span>
</td>
<td>[% Branches.GetName( issue.branchcode ) | html %]</td>
<td>
[% IF issue.date_due %]
<span title="[% issue.date_due | html %]">[% issue.date_due |$KohaDates with_hours => 1 %]</span>
[% ELSE %]
<span title="0000-00-00"></span>
[% END %]
</td>
<td>
[% IF issue.returndate %]
<span title="[% issue.returndate | html %]">[% issue.returndate |$KohaDates with_hours => 1 %]</span>
[% ELSE %]
<span title="Checked out"><small>Checked out</small></span>
[% END %]
</td>
</tr>
[% END %]
</tbody>
</table>
</div>
</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 'str/members-menu.inc' %]
[% Asset.js("js/members-menu.js") | $raw %]
[% INCLUDE 'datatables.inc' %]
[% INCLUDE 'columns_settings.inc' %]
<script id="js">
$(document).ready(function() {
var columns_settings = [% TablesSettings.GetColumns('members', 'checkouthistory', 'checkouthistory-table', 'json') %];
var table = KohaTable("table_readingrec", {
"sPaginationType": "full",
"aaSorting": [[10, 'desc']],
"sDom": 'C<"top pager"ilpfB><"#filter_c">tr<"bottom pager"ip>',
}, columns_settings);
var tabs = $("#tabs").tabs({
activate: function(e, ui) {
var active = tabs.tabs("option", "active" );
if ( active == 1 ) {
table.fnFilter("standard_checkout", 0);
} else if ( active == 2 ) {
table.fnFilter("onsite_checkout", 0);
} else { // all
table.fnFilter('', 0);
}
}
});
});
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]