Koha/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-course-details.tt
Owen Leonard 96fda97c09 Bug 7547: printing a sorted cart
This patch adds a DataTables-generated print button to the OPAC cart. To
make that process easier, the DataTables plugin has been upgraded to the
latest version (1.10.18) with the Buttons plugin included.

Changes to the OPAC LESS file style the DataTables button to look like
the static version.

Other templates in the OPAC which use the DataTables plugin have been
modified to use up-to-date option names.

To test, apply the patch and add several titles to the cart.

 - Open the cart
 - Re-sort the cart using something other than the default sort
 - Click the 'Print' button.
   - A print view should open in a separate window, sorted correctly,
     and automatically show the print dialog.
 - Click the cart's 'More details' button and click the print button.
   - This should trigger the print dialog directly.

 - Test DataTables sorting on other modified pages:
    - Bibliographic detail page (holdings table)
    - Course reserves (table of courses)
      - Course details (table of titles)
    - Full subscription history
      - Detail page for a subscription -> More details -> Full history
    - Most popular
    - Purchase suggestions
    - Self checkouts
    - Tag cloud
    - Your fines
    - Your interlibrary loan requests
    - Your reading history
    - Your search history
    - Your search IDREF for ppn (I don't know how to test this)

The DataTables plugin is removed from "Your routing lists" and Self
check-in because it is unused.

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

Signed-off-by: Josef Moravec <josef.moravec@gmail.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2018-07-02 11:48:41 +00:00

119 lines
6 KiB
Text

[% USE Asset %]
[% USE Koha %]
[% USE KohaDates %]
[% USE AuthorisedValues %]
[% USE ItemTypes %]
[% USE Branches %]
[% INCLUDE 'doc-head-open.inc' %]
<title>[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha online[% END %] catalog &rsaquo; Course reserves for [% course.course_name %]</title>
[% INCLUDE 'doc-head-close.inc' %]
[% BLOCK cssinclude %]
[% Asset.css("css/datatables.css") %]
[% END %]
</head>
[% INCLUDE 'bodytag.inc' bodyid='opac-main' %]
[% 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-course-reserves.pl">Course reserves</a> <span class="divider">&rsaquo;</span></li>
<li><a href="#">Course reserves for <i>[% course.course_name %]</i></a></li>
</ul>
<div class="container-fluid">
<div class="row-fluid">
<div class="span12">
<h2>Course reserves for <i>[% course.course_name %]</i></h2>
<div class="rows">
<ol>
[% IF ( course.term ) %]<li><span class="label">Term:</span> [% AuthorisedValues.GetByCode( 'TERM', course.term ) %]</li>[% END %]
<li><span class="label">Department:</span> [% AuthorisedValues.GetByCode( 'DEPARTMENT', course.department ) %]</li>
[% IF ( course.course_number ) %]<li><span class="label">Course number:</span> [% course.course_number %]</li>[% END %]
[% IF ( course.section ) %]<li><span class="label">Section:</span> [% course.section %]</li>[% END %]
[% IF ( course.instructors ) %]
<li><span class="label">Instructors:</span>
<ul>
[% FOREACH i IN course.instructors %]
<li><div class="instructor">[% i.firstname %] [% i.surname %]</div></li>
[% END %]
</ul>
</li>
[% END %]
[% IF ( course.public_note ) %]<li><span class="label">Notes:</span> [% course.public_note %]</li>[% END %]
</ol>
</div>
[% IF ( course_reserves ) %]
<table id="course-items-table" class="table table-bordered table-striped table-condensed">
<thead>
<tr>
<th class="anti-the">Title</th>
<th>Author</th>
<th>Item type</th>
<th>Location</th>
<th>Collection</th>
<th>Call number</th>
<th>Copy number</th>
<th>Status</th>
<th class="title-string">Date due</th>
<th>Notes</th>
<th>Link</th>
</tr>
</thead>
<tbody>
[% FOREACH cr IN course_reserves %]
<tr>
<td><a href="opac-detail.pl?biblionumber=[% cr.biblio.biblionumber %]">[% cr.biblio.title %]</a></td>
<td>[% cr.biblio.author %]</td>
<td>[% ItemTypes.GetDescription( cr.item.itype ) %]</td>
<td>[% Branches.GetName( cr.item.holdingbranch ) %] <br/> <i>[% AuthorisedValues.GetByCode( 'LOC', cr.item.location ) %]</i></td>
<td>[% AuthorisedValues.GetByCode( 'CCODE', cr.item.ccode ) %]</td>
<td>[% cr.item.itemcallnumber %]</td>
<td>[% cr.item.copynumber %]</td>
<td>[% INCLUDE 'item-status.inc' item=cr.item issue=cr.issue %]</td>
<td><span title="[% cr.issue.date_due %]">[% cr.issue.date_due | $KohaDates as_due_date => 1 %]</span></td>
<td>[% IF ( cr.public_note ) %]
[% cr.public_note %]
[% ELSIF ( cr.item.itemnotes ) %]
[% cr.item.itemnotes %]
[% END %]
</td>
<td>[% IF (cr.item.uri) %]
<a href="[% cr.item.uri %]">Item URI</a>
[% ELSIF (cr.biblioitem.url) %]
<a href="[% cr.biblioitem.url %]">Record URL</a>
[% END %]
</td>
</tr>
[% END %]
</tbody>
</table>
[% ELSE %]
<br style="clear:both;" />
<div class="alert alert-info">
<p>No reserves have been selected for this course.</p>
</div>
[% END %]
</div> <!-- / .span12 -->
</div> <!-- / .row-fluid -->
</div> <!-- / .container-fluid -->
</div> <!-- / .main -->
[% INCLUDE 'opac-bottom.inc' %]
[% BLOCK jsinclude %]
[% INCLUDE 'datatables.inc' %]
<script>
$(document).ready(function() {
$("#course-items-table").dataTable($.extend(true, {}, dataTablesDefaults, {
"dom": '<"top"flp>rt<"clear">',
"columnDefs": [
{ "type": "anti-the", "targets" : [ "anti-the" ] },
{ "type": "title-string", "targets" : [ "title-string" ] }
]
}));
});
</script>
[% END %]