Koha/koha-tmpl/intranet-tmpl/prog/en/modules/course_reserves/course-details.tt
Owen Leonard e0b13056b2 Bug 11713 - Use new DataTables include in course reserves templates
This patch modifies two course reserves templates to use the new
DataTables include. This simplifies the inclusion of assets and updates
to the latest DataTables version. Also included:

- Adds a sorting filter on the course reserves detail table to excluding
  articles from sorting.
- Corrects the styling of toolbar buttons (buttons should have btn and
  btn-small classes).

To test you must have UseCourseReserves enabled and have multiple
existing courses, at least one of which should have items on reserve.

1. View the list of courses. Table sorting should work correctly. The
   "new course" button should look consistent with other staff client
   toolbar buttons.

2. View the list of reserves on a course.
   - Toolbar buttons should look consistent with other staff client
     toolbar buttons.
   - Sorting should work correctly, excluding sorting on the Edit,
     Remove, and "Other course reserves" columns.
   - Titles on reserve which begin with an article should be sorted
     correctly with article excluded
   - Test sorting with item-level_itypes on and off.
   - Test sorting using a patron whose permissions include various
     combinations of add_reserves and delete_reserves

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Jonathan Druart <jonathan.druart@biblibre.com>
Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-03-10 17:51:36 +00:00

197 lines
11 KiB
Text

[% USE AuthorisedValues %]
[% USE ItemTypes %]
[% USE Branches %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Course reserves &rsaquo; Course details for [% course.course_name %]</title>
[% INCLUDE 'doc-head-close.inc' %]
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
[% INCLUDE 'datatables.inc' %]
<script type="text/javascript">
//<![CDATA[
$(document).ready(function(){
$("#course_reserves_table").dataTable($.extend(true, {}, dataTablesDefaults, {
"sPaginationType": "four_button",
"aLengthMenu": [[10, 20, 50, 100, -1], [10, 20, 50, 100, "All"]],
"iDisplayLength": 20,
"aoColumnDefs": [
{ 'bSortable': false, 'aTargets': [ 'NoSort' ] },
{ 'sType': "anti-the", 'aTargets' : [ 'antithe'] }
]
}));
$("a.delete_item").click(function(){
return confirm( _("Are you sure you want to remove this item from the course?"));
});
$("#delete_course").click(function(){
return confirm( _("Are you sure you want to delete this course?") );
});
});
//]]>
</script>
</head>
<body>
[% INCLUDE 'header.inc' %]
[% INCLUDE 'cat-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/course_reserves/course-reserves.pl">Course reserves</a> &rsaquo; Course details for <i>[% course.course_name %]</i></div>
<div id="doc2" class="yui-t7">
<div id="bd">
<div id="yui-main">
[% IF CAN_user_coursereserves_add_reserves OR CAN_user_coursereserves_manage_courses OR CAN_user_coursereserves_manage_courses %]
<div id="toolbar">
<ul class="toolbar">
[% IF CAN_user_coursereserves_add_reserves %]<li><a class="btn btn-small" id="add_items" href="/cgi-bin/koha/course_reserves/add_items.pl?course_id=[% course.course_id %]"><i class="icon-plus"></i> Add reserves</a></li>[% END %]
[% IF ( CAN_user_coursereserves_manage_courses ) %]<li><a class="btn btn-small" id="edit_course" href="/cgi-bin/koha/course_reserves/course.pl?course_id=[% course.course_id %]"><i class="icon-pencil"></i> Edit course</a></li>[% END %]
[% IF ( CAN_user_coursereserves_manage_courses ) %]<li><a class="btn btn-small" id="delete_course" href="/cgi-bin/koha/course_reserves/mod_course.pl?course_id=[% course.course_id %]&amp;action=del"><i class="icon-remove"></i> Delete course</a></li>[% END %]
</ul>
</div><!-- /toolbar -->
[% END %]
<div class="rows">
<ol>
<li><span class="label">Course name</span> [% course.course_name %]</li>
<li><span class="label">Term</span> [% AuthorisedValues.GetByCode( 'TERM', course.term ) %]</li>
<li><span class="label">Department</span> [% AuthorisedValues.GetByCode( 'DEPARTMENT', course.department ) %]</li>
<li><span class="label">Course number</span> [% course.course_number %]</li>
<li><span class="label">Section</span> [% course.section %]</li>
<li><span class="label">Instructors</span> [% FOREACH i IN course.instructors %]<div class="instructor"><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% i.borrowernumber %]">[% i.firstname %] [% i.surname %]</a></div>[% END %]</li>
<li><span class="label">Staff note</span> [% course.staff_note %]</li>
<li><span class="label">Public note</span> [% course.public_note %]</li>
<li><span class="label">Student count</span> [% course.students_count %]</li>
<li><span class="label">Status</span> [% IF course.enabled == 'yes' %]Active[% ELSE %]Inactive[% END %]</li>
</ol>
</div>
[% IF course_reserves %]
<table id="course_reserves_table">
<caption>Reserves</caption>
<thead>
<tr>
<th class="antithe">Title</th>
<th>Barcode</th>
<th>Call number</th>
[% IF item_level_itypes %]<th>Item type</th>[% END %]
<th>Collection</th>
<th>Location</th>
<th>Library</th>
<th>Staff note</th>
<th>Public note</th>
[% IF CAN_user_coursereserves_add_reserves %]<th class="NoSort">&nbsp;<!-- Edit --></th>[% END %]
[% IF CAN_user_coursereserves_delete_reserves %]<th class="NoSort">&nbsp;<!-- Remove --></th>[% END %]
<th class="NoSort">Other course reserves</th>
</tr>
</thead>
<tbody>
[% FOREACH cr IN course_reserves %]
<tr>
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% cr.item.biblionumber %]">[% cr.item.title %]</a></td>
<td><a href="/cgi-bin/koha/catalogue/moredetail.pl?itemnumber=[% cr.item.itemnumber %]&amp;biblionumber=[% cr.item.biblionumber %]&amp;bi=[% cr.item.biblioitemnumber %]">[% cr.item.barcode %]</a></td>
<td>[% cr.item.itemcallnumber %]</td>
[% IF item_level_itypes %]
<td>
[% IF cr.course_item.itype %]
[% IF cr.course_item.enabled == 'yes' %]
[% ItemTypes.GetDescription( cr.item.itype ) %]
[% ELSE %]
[% ItemTypes.GetDescription( cr.course_item.itype ) %]
[% END %]
[% ELSE %]
<i>Unchanged</i>
[% IF cr.item.itype %]
([% ItemTypes.GetDescription( cr.item.itype ) %])
[% END %]
[% END %]
</td>
[% END %]
<td>
[% IF cr.course_item.ccode %]
[% IF cr.course_item.enabled == 'yes' %]
[% AuthorisedValues.GetByCode( 'CCODE', cr.item.ccode ) %]
[% ELSE %]
[% AuthorisedValues.GetByCode( 'CCODE', cr.course_item.ccode ) %]
[% END %]
[% ELSE %]
<i>Unchanged</i>
[% IF cr.item.ccode %]
([% AuthorisedValues.GetByCode( 'CCODE', cr.item.ccode ) %])
[% END %]
[% END %]
</td>
<td>
[% IF cr.course_item.location %]
[% IF cr.course_item.enabled == 'yes' %]
[% AuthorisedValues.GetByCode( 'LOC', cr.item.location ) %]
[% ELSE %]
[% AuthorisedValues.GetByCode( 'LOC', cr.course_item.location ) %]
[% END %]
[% ELSE %]
<i>Unchanged</i>
[% IF cr.item.location %]
([% AuthorisedValues.GetByCode( 'LOC', cr.item.location ) %])
[% END %]
[% END %]
</td>
<td>
[% IF cr.course_item.holdingbranch %]
[% IF cr.course_item.enabled == 'yes' %]
[% Branches.GetName( cr.item.holdingbranch ) %]
[% ELSE %]
[% Branches.GetName( cr.course_item.holdingbranch ) %]
[% END %]
[% ELSE %]
<i>Unchanged</i>
[% IF cr.item.holdingbranch %]
([% Branches.GetName( cr.item.holdingbranch ) %])
[% END %]
[% END %]
</td>
<td>[% cr.staff_note %]</td>
<td>[% cr.public_note %]</td>
[% IF CAN_user_coursereserves_add_reserves %]
<td><a href="add_items.pl?course_id=[% course.course_id %]&amp;barcode=[% cr.item.barcode %]&amp;action=lookup">Edit</a></td>
[% END %]
[% IF CAN_user_coursereserves_delete_reserves %]
<td>
[% IF cr.item.onloan %]
On Loan
[% ELSIF cr.item.itemlost %]
Item Lost
[% ELSE %]
<a href="course-details.pl?course_id=[% course.course_id %]&amp;action=del_reserve&amp;cr_id=[% cr.cr_id %]" class="delete_item" >Remove</a>
[% END %]
</td>
[% END %]
<td>
[% FOREACH course IN cr.courses %]
[% UNLESS cr.course_id == course.course_id %]
<p>
<a href="course-details.pl?course_id=[% course.course_id %]">
[% course.course_name %]
[% IF course.section %] [% course.section %] [% END %]
[% IF course.term %] [% AuthorisedValues.GetByCode( 'TERM', course.term ) %] [% END %]
</a>
</p>
[% END %]
[% END %]
</td>
</tr>
[% END %]
</tbody>
</table>
[% END %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]