Koha/koha-tmpl/intranet-tmpl/prog/en/modules/circ/checkout-notes.tt
Jonathan Druart 419470d3cd Bug 17698: (QA follow-up) few more things
1. body tag was missing
2. make "Date" column sortable correctly
3. remove CDATA and type="text/javascript"
4. Handle server-side errors

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
2018-07-23 15:23:43 +00:00

201 lines
9.2 KiB
Text

[% USE Asset %]
[% USE Koha %]
[% USE KohaDates %]
[% USE Branches %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>Home &rsaquo; Circulation &rsaquo; Checkout notes</title>
[% INCLUDE 'doc-head-close.inc' %]
[% Asset.css("css/datatables.css") %]
</head>
<body id="circ_checkout-notes" class="circ">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'circ-search.inc' %]
<div id="breadcrumbs">
<a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo;
<a href="/cgi-bin/koha/circ/circulation-home.pl">Circulation</a> &rsaquo;
Checkout notes
</div>
[% IF Koha.Preference('CircSidebar') %]<div id="doc3" class="yui-t2">[% ELSE %]<div id="doc" class="yui-t7">[% END %]
<div id="bd">
<div id="yui-main">
[% IF Koha.Preference('CircSidebar') %]<div class="yui-b">[% END %]
<h1>Checkout notes</h1>
<div class="dialog alert" id="error" style="display:none;"></div>
[% IF ( selected_count ) %]
<div class="dialog message">
[% IF ( action == 'seen' ) %]
<span>[% selected_count %] note(s) marked as seen.</span>
[% ELSIF ( action == 'notseen' ) %]
<span>[% selected_count %] note(s) marked as not seen.</span>
[% ELSE %]
<span>Failed to change the status of [% selected_count %] item(s).</span>
[% END %]
</div>
[% END %]
[% IF ( notes.count ) %]
<fieldset class="action" style="cursor:pointer;">
<a class="SelectAll"><i class="fa fa-check"></i> Select all</a>
| <a class="ClearAll"><i class="fa fa-remove"></i> Clear all</a>
| <a class="HideSeen"><i class="fa fa-minus-square"></i> Hide seen</a>
| <a class="ShowAll"><i class="fa fa-bars"></i> Show all</a>
</fieldset>
<form id="mark_selected" method="post" action="/cgi-bin/koha/circ/checkout-notes.pl">
<fieldset class="action">
<button type="submit" class="btn btn-default btn-sm" name="mark_selected-seen" value="seen" disabled="disabled"><i class="fa fa-eye"></i> Mark seen</button>
<button type="submit" class="btn btn-default btn-sm" name="mark_selected-notseen" value="notseen" disabled="disabled"><i class="fa fa-eye-slash"></i> Mark not seen</button>
</fieldset>
<table id="notestable">
<thead>
<tr>
<th>&nbsp;</th>
<th>Title</th>
<th>Note</th>
<th class="title-string">Date</th>
<th>Set by</th>
<th>Status</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
[% FOREACH note IN notes %]
<tr>
<td><input type="checkbox" name="issue_ids" value="[% note.issue_id %]"></td>
<td>[% note.item.biblio.title %] - [% note.item.biblio.author %] (<a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% note.item.biblionumber %]">[% note.item.barcode %]</a>)</td>
<td>[% note.note | html %]</td>
<td><span title="[% note.notedate %]">[% note.notedate | $KohaDates %]</span></td>
<td>[% INCLUDE 'patron-title.inc' patron => note.patron hide_patron_infos_if_needed=1 %]</td>
<td class="seen[% note.noteseen %]">
[% IF ( note.noteseen == 0 ) %]
<span id="status_[% note.issue_id %]">Not seen</span>
[% ELSIF ( note.noteseen == 1 ) %]
<span id="status_[% note.issue_id %]">Seen</span>
[% END %]
</td>
<td class="actions">
[% IF ( note.noteseen == 1 ) %]
<button name="seen" data-issue_id="[% note.issue_id %]" class="seen btn btn-default btn-xs" disabled="disabled"><i class="fa fa-eye"></i> Mark seen</button> <button name="notseen" data-issue_id="[% note.issue_id %]" class="notseen btn btn-default btn-xs"><i class="fa fa-eye-slash"></i> Mark not seen</button>
[% ELSIF ( note.noteseen == 0 ) %]
<button name="seen" data-issue_id="[% note.issue_id %]" class="seen btn btn-default btn-xs"><i class="fa fa-eye"></i> Mark seen</button> <button name="notseen" data-issue_id="[% note.issue_id %]" class="notseen btn btn-default btn-xs" disabled="disabled"><i class="fa fa-eye-slash"></i> Mark not seen</button>
[% END %]
</td>
</tr>
[% END %]
</tbody>
</table>
</form>
[% ELSE %]
<span>There are currently no checkout notes.</span>
[% END %] <!-- notes -->
</div> <!-- yui-main -->
[% IF Koha.Preference('CircSidebar') %]
</div>
<div class="yui-b noprint">
[% INCLUDE 'circ-nav.inc' %]
</div>
[% END %]
</div> <!-- bd -->
</div> <!-- doc3 -->
[% MACRO jsinclude BLOCK %]
[% Asset.js("lib/jquery/plugins/jquery.checkboxes.min.js") %]
[% INCLUDE 'calendar.inc' %]
[% INCLUDE 'datatables.inc' %]
<script>
$(document).ready(function(){
$("#notestable").dataTable($.extend(true, {}, dataTablesDefaults, {
"aoColumnDefs": [
{ "aTargets": [ 0, -1 ], "bSearchable": false, "bSortable": false },
{ "sType": "title-string", "aTargets" : [ "title-string" ] },
],
"sPaginationType": "four_button"
}));
$(".SelectAll").on("click", function(){
$("input[name='issue_ids'][type='checkbox']").prop("checked", true);
$(".btn-sm").prop("disabled", false);
});
$(".ClearAll").on("click", function(){
$("input[name='issue_ids'][type='checkbox']").prop("checked", false);
$(".btn-sm").prop("disabled", true);
});
$(".HideSeen").on("click", function(){
$(".seen1").parent().hide();
});
$(".ShowAll").on("click", function(){
$("tr").show();
});
$("#error").hide();
$("input[type='checkbox']").click(function(event){
if ( $("input[type='checkbox']").is(":checked") ) {
$(".btn-sm").prop("disabled", false);
} else {
$(".btn-sm").prop("disabled", true);
}
});
$("button.seen, button.notseen").click(function(event){
event.preventDefault(); // prevent form submission
var $action = $(this).attr("name");
var $issue_id = $(this).data('issue_id');
var ajaxData = {
'action': $action,
'issue_id': $issue_id,
};
$.ajax({
url: '/cgi-bin/koha/svc/checkout_notes/',
type: 'POST',
dataType: 'json',
data: ajaxData,
})
.done(function(data){
if (data.status == 'success'){
if ( $action == 'notseen' ){
$("#status_" + $issue_id).text(_("Not seen"));
$(event.target).parent().siblings(".seen1").removeClass("seen1").addClass("seen0");
$(event.target).siblings(".seen").prop("disabled", false);
$(event.target).prop("disabled", true);
} else {
$("#status_" + $issue_id).text(_("Seen"));
$(event.target).parent().siblings(".seen0").removeClass("seen0").addClass("seen1");
$(event.target).siblings(".notseen").prop("disabled", false);
$(event.target).prop("disabled", true);
}
} else {
$("#error").text(_("Unable to change status of note."));
$("#error").show();
}
})
.error(function(data){
$("#error").text(_("Unable to change status of note."));
$("#error").show();
});
});
});
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]