Koha/koha-tmpl/intranet-tmpl/prog/en/modules/labels/label-edit-batch.tt
Owen Leonard 94d8055548 Bug 11946 - add table sorters to label batches
When viewing batches of titles in the label creator module the table is
not sortable. This patch adds table sorting.

The patch also makes some corrections of invalid markup and moves
informational/error messages to the top of the page rather than in a
sidebar. This change lets the table and sorting controls expand into a
wider space.

To test, go to Tools -> Labels -> Manage label batches. View an existing
batch or create a new batch and populate it with items. Table sorting
controls should work correctly.

Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>
Solves 1/2 of this bug which is to add the sorters to labels, the original
request was to add this to patron cards as well.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
Works as described, passes all tests and QA script.
Template could be improved forther by showing
the itemtype description instead of the code in the table.

Signed-off-by: Galen Charlton <gmc@esilibrary.com>
2014-03-31 14:22:26 +00:00

271 lines
14 KiB
Text

[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Tools &rsaquo; Labels &rsaquo; Manage label batches</title>
[% INCLUDE 'doc-head-close.inc' %]
[% INCLUDE 'greybox.inc' %]
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
[% INCLUDE 'datatables.inc' %]
<script type="text/javascript">
//<![CDATA[
function dofocus() { // named function req'd for body onload event by some FF and IE7 security models
$(".focus:last").select();
}
function verifyBarcodes(barcodes) {
if (barcodes.value == '') {
alert(_("Please add barcodes using either the direct entry text area or the item search."));
return false; // not ok
}
else {
return true; // ok
};
}
function DeleteConfirm() {
var msg = "Are you sure you want to delete batch [% batch_id %]?"
var answer = confirm(msg);
if (answer) {
window.location = "/cgi-bin/koha/labels/label-manage.pl?op=delete&amp;label_element=batch&amp;element_id=[% batch_id %]";
}
else {
return; // abort delete
}
};
function Remove() {
items = new Array;
item_num = new Array;
if(document.items.action.length > 0) {
for (var i=0; i < document.items.action.length; i++) {
if (document.items.action[i].checked) {
items.push("label_id=" + document.items.action[i].value);
item_num.push(i+1);
}
}
if (items.length < 1) {
alert(_("Please select at least one item to delete."));
return; // no item selected
}
getstr = items.join("&");
item_msg = item_num.join(", ");
var msg = "Are you sure you want to remove label number(s): " + item_msg + " from this batch?"
}
// else if (document.items.action.checked) {
// getstr = "label_id="+document.items.action.value;
// var msg = "Are you sure you want to remove selected item from this batch?"
// }
else {
alert(_("Please select at least label to delete."));
return; // no item selected
}
var answer = confirm(msg);
if (answer) {
window.location = "/cgi-bin/koha/labels/label-edit-batch.pl?op=remove&amp;batch_id=[% batch_id %]&amp;" + getstr;
}
else {
return; // abort delete
}
};
function Add() {
var barcodes = document.getElementById("barcode");
if (barcodes.value == '') {
window.open("/cgi-bin/koha/labels/label-item-search.pl?batch_id=[% batch_id %]&amp;type=labels",'FindABibIndex','width=875,height=400,toolbar=no,scrollbars=yes');
}
else {
document.forms["add_by_barcode"].submit();
}
};
function DeDuplicate() {
window.location = "/cgi-bin/koha/labels/label-edit-batch.pl?op=de_duplicate&amp;batch_id=[% batch_id %]";
};
function Xport(mode) {
if (mode == 'label') {
labels= new Array;
if(document.items.action.length > 0) {
for (var i=0; i < document.items.action.length; i++) {
if (document.items.action[i].checked) {
labels.push("label_id=" + document.items.action[i].value);
}
}
if (labels.length < 1) {
alert(_("Please select at least one label to export."));
return; // no batch selected
}
getstr = labels.join("&");
}
else if (document.items.action.checked) {
getstr = document.items.action.value;
}
else {
alert(_("Please select at least one label to export."));
return; // no batch selected
}
return GB_showCenter('Export labels', "/cgi-bin/koha/labels/label-print.pl?batch_id=[% batch_id %]&" + getstr, 700, 800);
}
else if (mode == 'batch') {
return GB_showCenter('Export labels', "/cgi-bin/koha/labels/label-print.pl?batch_id=[% batch_id %]", 700, 800);
}
else {
// some pass-thru error trapping just in case...
}
};
function selected_layout() {
if (document.items.action.length) {
for (i=0;i<document.items.action.length;i++){
if (document.items.action[i].checked==true){
return(document.items.action[i].value);
}
};
}
else {
if (document.items.action.checked){
return(document.items.action.value);
}
};
alert(_("Please select at least one item."));
return (-1);
};
$(document).ready(function() {
$("#batcht").dataTable($.extend(true, {}, dataTablesDefaults, {
"aoColumnDefs": [
{ "sType": "anti-the", "aTargets" : [ "anti-the" ] },
{ "aTargets": [ -1 ], "bSortable": false, "bSearchable": false }
],
"aaSorting": [[ 1, "asc" ]],
"sPaginationType": "four_button"
}));
$("#additems").click(function(){
Add();
return false;
});
$("#removeitems").click(function(){
Remove();
return false;
});
$("#deletebatch").click(function(){
DeleteConfirm();
return false;
});
$("#deduplicate").click(function(){
DeDuplicate();
return false;
});
$("#exportitems").click(function(){
Xport('label');
return false;
});
$("#exportbatch").click(function(){
Xport('batch');
return false;
});
});
//]]>
</script>
</head>
<body id="labels_label-edit-batch" class="tools labels" onload="dofocus();">
[% 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/tools/tools-home.pl">Tools</a> &rsaquo;
<a href="/cgi-bin/koha/labels/label-home.pl">Labels home</a> &rsaquo;
<a href="/cgi-bin/koha/labels/label-manage.pl?label_element=batch">Manage label batches</a> &rsaquo;
Manage batch number [% batch_id %]
</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
<div id="toolbar" class="btn-toolbar">
<a class="btn btn-small" id="additems" href="#">Add item(s)</a>[% IF ( table_loop ) %]
<a class="btn btn-small" id="removeitems" href="#">Remove item(s)</a>
<a class="btn btn-small" id="deletebatch" href="#">Delete batch</a>
<a class="btn btn-small" id="deduplicate" href="#">Remove duplicates</a>
<a class="btn btn-small" id="exportitems" href="#">Export item(s)</a>
<a class="btn btn-small" id="exportbatch" href="#">Export batch</a>[% END %]
</div>
[% IF ( err ) %]
<div class="dialog alert">
<strong>WARNING:</strong> An error was encountered and [% errstr %] Please have your system administrator check the error log for details.
</div>
[% ELSIF ( duplicate_message ) %]
<div class="dialog message">
<strong>[% duplicate_count %] duplicate item(s) found</strong> and removed from batch [% batch_id %].
</div>
[% END %]
<div id="manage-label-batches">
<div class="hint">Current library: [% LoginBranchname %]</div>
<form name="add_by_barcode" action="/cgi-bin/koha/labels/label-edit-batch.pl" method="post">
<div>
<fieldset class="rows" style="border-bottom: 0px; border: 0px;">
<ol><li>
<input type="hidden" name="op" value="add" />
<input type="hidden" name="batch_id" value="[% batch_id %]" />
<label for="barcode">Add by barcode(s):
<br /> <span class="hint">One barcode per line.</span>
<br /> <span class="hint">Leave empty to add via item search.</span>
</label>
<textarea rows="5" id="barcode" name="barcode" tabindex="1" class="focus"></textarea>
</li></ol>
</fieldset>
</div>
</form>
[% IF ( table_loop ) %]
<form name="items" class="checkboxed">
<h2>Items in batch number [% batch_id %]</h2>
<table id="batcht">
[% FOREACH table_loo IN table_loop %]
[% IF ( table_loo.header_fields ) %]
<thead>
<tr>
[% FOREACH header_field IN table_loo.header_fields %]
[% SWITCH header_field.field_label -%]
[% CASE "Label Number" -%]
<th>Label number</th>
[% CASE "Summary" -%]
<th class="anti-the">Summary</th>
[% CASE "Item Type" %]
<th>Item type</th>
[% CASE "Barcode" %]
<th>Barcode</th>
[% CASE "Select" -%]
<th>Select</th>
[% CASE %]
<th>[% header_field.field_label %]</th>
[% END -%]
[% END %]
</tr>
</thead>
<tbody>
[% ELSE %]
<tr>
[% FOREACH text_field IN table_loo.text_fields %]
[% IF ( text_field.select_field ) %]
<td><input type="checkbox" name="action" value="[% text_field.field_value %]"></td>
[% ELSE %]
<td>[% text_field.field_value %]</td>
[% END %]
[% END %]
</tr>
[% END %]
[% END %]
</tbody>
</table>
</form>
[% ELSE %]
<fieldset class="rows" style="border-bottom: 0px; border: 0px;">
<ol><li>
<div class="dialog message">
<h4>There are no items in Batch [% batch_id %] yet</h4>
<p>Add items by barcode using the text area above or leave empty to add via item search.</p>
</div>
</li></ol>
</fieldset>
[% END %]
</div>
</div>
</div>
<div class="yui-b">
[% INCLUDE 'labels-menu.inc' %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]