Nick Clemens
f447658f85
Throughout staff client and course reserves we also show the field with HTML filter, maybe we shouldn't? The items lost report also included the note as a title element on title and barcode links, I removed this as the note displays in that table To test: 1 - Add a link to publicnotes for an item <a href="www.google.com">Cats!</a> 2 - View opac details, confirm the note is a link 3 - Same for staff side 4 - Add item to a course reserve UseCourseReserves preference must be set to 'Use' From the course reserves module you will need to add a course (and possibly a department first) Adding should be intuitive 5 - Confirm note is a link in course details on staff and opac 6 - Perform a batch checkout, confirm the itemnote shows as a link You will need to enable the system preference: BatchCheckouts and add a patron category to: BatchCheckoutsValidCategories Then a link should be available from checkout for a patron in that category 7 - Mark the item as lost 8 - Go to Reports->Items lost 9 - Confirm the note is a URL and that title and barcode links don't show the note 10 - Click the barcode to go to moredetails for the item - in this case note should display as editable text, not a link Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de> Signed-off-by: frederik chenier <frederik.chenier@inlibro.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 %]">[% cr.biblio.title | html %]</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 %]
|
|
[% 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 | html %]
|
|
[% 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": "four_button",
|
|
"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' %]
|