Owen Leonard
bcc537db05
Adapted from Bug 23784: At the moment only the title will display in the course reserves details, but not the information from other title fields. For series with multiple volumes that can lead to confusing display. The patch makes use of the new include to display 245$abnp. To test: - Add mulitple records to a course reserve course Make sure you have titles with different combinations of 245$b$n$p - Look at the course details in the staff client - Verify only $a displays - Apply patch - Reload - Verify now the full information displays Depending on your installation, you might want ot check that the 245 are correctly mapped and save the record once so the database fields are correctly filled. Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
283 lines
16 KiB
Text
283 lines
16 KiB
Text
[% USE raw %]
|
|
[% USE Asset %]
|
|
[% USE AuthorisedValues %]
|
|
[% USE ItemTypes %]
|
|
[% USE Branches %]
|
|
[% USE ColumnsSettings %]
|
|
[% SET footerjs = 1 %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Course reserves › Course details for [% course.course_name | html %]</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
|
|
<style>
|
|
#instructors {
|
|
float: left;
|
|
}
|
|
.instructor_line {
|
|
padding: 0 .1em;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body id="courses_course_details" class="course">
|
|
|
|
[% INCLUDE 'header.inc' %]
|
|
[% INCLUDE 'cat-search.inc' %]
|
|
|
|
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/course_reserves/course-reserves.pl">Course reserves</a> › Course details for <i>[% course.course_name | html %]</i></div>
|
|
|
|
<div class="main container-fluid">
|
|
<div class="row">
|
|
<div class="col-md-10 col-md-offset-1">
|
|
|
|
[% IF CAN_user_coursereserves_add_reserves OR CAN_user_coursereserves_manage_courses OR CAN_user_coursereserves_manage_courses %]
|
|
<div id="toolbar">
|
|
[% IF CAN_user_coursereserves_add_reserves %]
|
|
<a class="btn btn-default" id="add_items" href="/cgi-bin/koha/course_reserves/add_items.pl?course_id=[% course.course_id | html %]"><i class="fa fa-plus"></i> Add reserves</a>
|
|
<a class="btn btn-default" id="add_items" href="/cgi-bin/koha/course_reserves/batch_add_items.pl?course_id=[% course.course_id | html %]"><i class="fa fa-plus"></i> Batch add reserves</a>
|
|
[% END %]
|
|
[% IF ( CAN_user_coursereserves_manage_courses ) %]
|
|
<a class="btn btn-default" id="edit_course" href="/cgi-bin/koha/course_reserves/course.pl?course_id=[% course.course_id | html %]"><i class="fa fa-pencil"></i> Edit course</a>
|
|
[% END %]
|
|
[% IF ( CAN_user_coursereserves_manage_courses ) %]
|
|
<a class="btn btn-default" id="delete_course" href="/cgi-bin/koha/course_reserves/mod_course.pl?course_id=[% course.course_id | html %]&action=del"><i class="fa fa-trash"></i> Delete course</a>
|
|
[% END %]
|
|
</div><!-- /toolbar -->
|
|
[% END %]
|
|
|
|
<div class="rows">
|
|
<ol>
|
|
<li><span class="label">Course name</span> [% course.course_name | html %]</li>
|
|
<li><span class="label">Term</span> [% AuthorisedValues.GetByCode( 'TERM', course.term ) | html %]</li>
|
|
<li><span class="label">Department</span> [% AuthorisedValues.GetByCode( 'DEPARTMENT', course.department ) | html %]</li>
|
|
<li><span class="label">Course number</span> [% course.course_number | html %]</li>
|
|
<li><span class="label">Section</span> [% course.section | html %]</li>
|
|
<li>
|
|
<span class="label">Instructors</span>
|
|
<div id="instructors">
|
|
[% FOREACH i IN course.instructors %]
|
|
<div class="instructor_line">
|
|
<a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% i.borrowernumber | uri %]">[% i.firstname | html %] [% i.surname | html %]</a>
|
|
</div>
|
|
[% END %]
|
|
</div>
|
|
</li>
|
|
<li><span class="label">Staff note</span> [% course.staff_note | html %]</li>
|
|
<li><span class="label">Public note</span> [% course.public_note | $raw %]</li>
|
|
<li><span class="label">Student count</span> [% course.students_count | html %]</li>
|
|
<li><span class="label">Status</span> [% IF course.enabled == 'yes' %]Active[% ELSE %]Inactive[% END %]</li>
|
|
</ol>
|
|
</div>
|
|
|
|
[% IF course_reserves %]
|
|
<h1>Reserves</h1>
|
|
<table id="course_reserves_table">
|
|
<thead>
|
|
<tr>
|
|
<th class="antithe">Title</th>
|
|
<th>Author</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>
|
|
<th>Link</th>
|
|
<th class="NoSort">Other course reserves</th>
|
|
[% IF CAN_user_coursereserves_add_reserves || CAN_user_coursereserves_delete_reserves %]
|
|
<th class="NoSort">Actions</th>
|
|
[% END %]
|
|
</tr>
|
|
</thead>
|
|
|
|
<tbody>
|
|
[% FOREACH cr IN course_reserves %]
|
|
<tr>
|
|
<td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% cr.biblio.biblionumber | uri %]">[% INCLUDE 'biblio-title.inc' biblio=cr.biblio %]</a></td>
|
|
<td>[% cr.biblio.author | html %]</td>
|
|
<td><a href="/cgi-bin/koha/catalogue/moredetail.pl?itemnumber=[% cr.item.itemnumber | uri %]&biblionumber=[% cr.biblio.biblionumber | uri %]&bi=[% cr.biblioitem.biblioitemnumber | uri %]">[% cr.item.barcode | html %]</a></td>
|
|
<td>[% cr.item.itemcallnumber | html %]</td>
|
|
[% IF item_level_itypes %]
|
|
<td>
|
|
[% IF cr.course_item.itype.defined %]
|
|
[% IF cr.course_item.enabled == 'yes' %]
|
|
<strong>[% ItemTypes.GetDescription( cr.item.itype) | html %]</strong>
|
|
[% IF cr.item.itype %]
|
|
([% ItemTypes.GetDescription( cr.course_item.itype ) | html %])
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% ItemTypes.GetDescription( cr.course_item.itype ) | html %]
|
|
[% IF cr.item.itype %]
|
|
(<strong>[% ItemTypes.GetDescription( cr.item.itype) | html %]</strong>)
|
|
[% END %]
|
|
[% END %]
|
|
[% ELSE %]
|
|
<i>Unchanged</i>
|
|
[% IF cr.item.itype %]
|
|
([% ItemTypes.GetDescription( cr.item.itype ) | html %])
|
|
[% END %]
|
|
[% END %]
|
|
</td>
|
|
[% END %]
|
|
<td>
|
|
[% IF cr.course_item.ccode.defined %]
|
|
[% IF cr.course_item.enabled == 'yes' %]
|
|
<strong>[% AuthorisedValues.GetByCode( 'CCODE', cr.item.ccode ) | html %]</strong>
|
|
[% IF cr.item.ccode %]
|
|
([% AuthorisedValues.GetByCode( 'CCODE', cr.course_item.ccode ) | html %])
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% AuthorisedValues.GetByCode( 'CCODE', cr.course_item.ccode ) | html %]
|
|
[% IF cr.item.ccode %]
|
|
(<strong>[% AuthorisedValues.GetByCode( 'CCODE', cr.item.ccode ) | html %]</strong>)
|
|
[% END %]
|
|
[% END %]
|
|
[% ELSE %]
|
|
<i>Unchanged</i>
|
|
[% IF cr.item.ccode %]
|
|
([% AuthorisedValues.GetByCode( 'CCODE', cr.item.ccode ) | html %])
|
|
[% END %]
|
|
[% END %]
|
|
</td>
|
|
<td>
|
|
[% IF cr.course_item.location.defined %]
|
|
[% IF cr.course_item.enabled == 'yes' %]
|
|
<strong>[% AuthorisedValues.GetByCode( 'LOC', cr.item.permanent_location ) | html %]</strong>
|
|
[% IF cr.item.permanent_location %]
|
|
([% AuthorisedValues.GetByCode( 'LOC', cr.course_item.location ) | html %])
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% AuthorisedValues.GetByCode( 'LOC', cr.course_item.location ) | html %]
|
|
[% IF cr.item.permanent_location %]
|
|
(<strong>[% AuthorisedValues.GetByCode( 'LOC', cr.item.permanent_location ) | html %]</strong>)
|
|
[% END %]
|
|
[% END %]
|
|
[% ELSE %]
|
|
<i>Unchanged</i>
|
|
[% IF cr.item.permanent_location %]
|
|
([% AuthorisedValues.GetByCode( 'LOC', cr.item.permanent_location ) | html %])
|
|
[% END %]
|
|
[% END %]
|
|
</td>
|
|
<td>
|
|
[% IF cr.course_item.holdingbranch.defined %]
|
|
[% IF cr.course_item.enabled == 'yes' %]
|
|
<strong>[% Branches.GetName( cr.item.holdingbranch ) | html %]</strong>
|
|
[% IF cr.item.holdingbranch %]
|
|
([% Branches.GetName( cr.course_item.holdingbranch ) | html %])
|
|
[% END %]
|
|
[% ELSE %]
|
|
[% Branches.GetName( cr.course_item.holdingbranch ) | html %]
|
|
[% IF cr.item.holdingbranch %]
|
|
(<strong>[% Branches.GetName( cr.item.holdingbranch ) | html %]</strong>)
|
|
[% END %]
|
|
[% END %]
|
|
[% ELSE %]
|
|
<i>Unchanged</i>
|
|
[% IF cr.item.holdingbranch %]
|
|
([% Branches.GetName( cr.item.holdingbranch ) | html %])
|
|
[% END %]
|
|
[% END %]
|
|
</td>
|
|
<td>[% IF (cr.staff_note) %]
|
|
[% cr.staff_note | html %]
|
|
[% ELSIF (cr.item.itemnotes_nonpublic) %]
|
|
[% cr.item.itemnotes_nonpublic | html %]
|
|
[% END %]
|
|
</td>
|
|
<td>[% IF (cr.public_note) %]
|
|
[% cr.public_note | $raw %]
|
|
[% ELSIF (cr.item.itemnotes) %]
|
|
[% cr.item.itemnotes | $raw %]
|
|
[% END %]
|
|
</td>
|
|
|
|
<td>
|
|
[% IF (cr.item.uri) %]
|
|
<a href="[% cr.item.uri | url %]">Item URI</a>
|
|
[% ELSIF (cr.biblioitem.url) %]
|
|
<a href="[% cr.biblioitem.url | url %]">Record URL</a>
|
|
[% END %]
|
|
</td>
|
|
|
|
<td>
|
|
[% FOREACH c IN cr.courses %]
|
|
[% UNLESS cr.course_id == c.course_id %]
|
|
<p>
|
|
<a href="course-details.pl?course_id=[% c.course_id | uri %]">
|
|
[% c.course_name | html %]
|
|
[% IF c.section %] [% c.section | html %] [% END %]
|
|
[% IF c.term %] [% AuthorisedValues.GetByCode( 'TERM', c.term ) | html %] [% END %]
|
|
</a>
|
|
</p>
|
|
[% END %]
|
|
[% END %]
|
|
</td>
|
|
|
|
[% IF CAN_user_coursereserves_add_reserves || CAN_user_coursereserves_delete_reserves %]
|
|
<td class="actions">
|
|
[% IF CAN_user_coursereserves_add_reserves %]
|
|
<a class="btn btn-default btn-xs" href="add_items.pl?course_id=[% course.course_id | html %]&itemnumber=[% cr.item.itemnumber | html %]&action=lookup&return=[% course.course_id | html %]&is_edit=1"><i class="fa fa-pencil"></i> Edit</a>
|
|
[% END %]
|
|
|
|
[% IF CAN_user_coursereserves_delete_reserves %]
|
|
[% IF cr.item.onloan %]
|
|
<a class="btn btn-default btn-xs disabled checkedout delete_item" href="#" data-toggle="tooltip" data-placement="left" title="This item is checked out">
|
|
[% ELSE %]
|
|
<a class="btn btn-default btn-xs delete_item" href="course-details.pl?course_id=[% course.course_id | html %]&action=del_reserve&cr_id=[% cr.cr_id | html %]">
|
|
[% END %]
|
|
<i class="fa fa-trash"></i> Remove</a>
|
|
[% END %]
|
|
</td>
|
|
[% END %]
|
|
|
|
</tr>
|
|
[% END %]
|
|
</tbody>
|
|
</table>
|
|
[% END %]
|
|
</div>
|
|
</div>
|
|
|
|
[% MACRO jsinclude BLOCK %]
|
|
[% INCLUDE 'datatables.inc' %]
|
|
[% INCLUDE 'columns_settings.inc' %]
|
|
<script>
|
|
var columns_settings = [% ColumnsSettings.GetColumns( 'coursereserves', 'reserves', 'course_reserves_table', 'json' ) | $raw %];
|
|
$(document).ready(function(){
|
|
var rtable = KohaTable("course_reserves_table", {
|
|
"sPaginationType": "full",
|
|
"bAutoWidth": false,
|
|
"aoColumnDefs": [
|
|
{ 'bSortable': false, 'aTargets': [ 'NoSort' ] },
|
|
{ 'sType': "anti-the", 'aTargets' : [ 'antithe'] }
|
|
]
|
|
}, columns_settings );
|
|
|
|
$(".delete_item").click(function(){
|
|
return confirmDelete(_("Are you sure you want to remove this item from the course?"));
|
|
});
|
|
|
|
$("#delete_course").click(function(){
|
|
[% SET count = course_reserves.size || 0 %]
|
|
[% IF count == 1 %]
|
|
return confirmDelete(_("Are you sure you want to delete this course? There is %s attached item.").format([% count | html %]) );
|
|
[% ELSIF count > 1 %]
|
|
return confirmDelete(_("Are you sure you want to delete this course? There are %s attached items.").format([% count | html %]) );
|
|
[% ELSE %]
|
|
return confirmDelete(_("Are you sure you want to delete this course?"));
|
|
[% END %]
|
|
});
|
|
$(".disabled").tooltip().on("click", function(e){
|
|
e.preventDefault();
|
|
if( $(this).hasClass("checkedout") ){
|
|
alert(_("This item cannot be removed. It is checked out"));
|
|
}
|
|
});
|
|
});
|
|
</script>
|
|
[% END %]
|
|
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|