Owen Leonard
e8f5ee9eef
The label batch manager script hard-codes the table header cell labels in order to pass them to an HTML-building function. This obviously isn't the best solution for internationalization, but picking the whole scheme apart would be very complicated. Instead this patch uses a SWITCH statement to check for each possible case and outputs the correct translatable string for each. To test, apply the patch and run "perl translate update" for any translation. Check the revised po file and confirm that the new strings are present. View the label batch edit page and confirm that the table headings look correct: Tools -> Labels -> Manage batches -> Edit batch. Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Works as described, passes all tests. Similar fixes are probably needed for other pages of the labels modules. Signed-off-by: Galen Charlton <gmc@esilibrary.com>
262 lines
13 KiB
Text
262 lines
13 KiB
Text
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Tools › Labels › Manage label batches</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
[% INCLUDE 'greybox.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&label_element=batch&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&batch_id=[% batch_id %]&" + 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 %]&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&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() {
|
|
$("#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> ›
|
|
<a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> ›
|
|
<a href="/cgi-bin/koha/labels/label-home.pl">Labels home</a> ›
|
|
<a href="/cgi-bin/koha/labels/label-manage.pl?label_element=batch">Manage label batches</a> ›
|
|
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>
|
|
<div class="yui-g">
|
|
<div class="yui-u first" 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>
|
|
[% FOREACH table_loo IN table_loop %]
|
|
[% IF ( table_loo.header_fields ) %]
|
|
<tr>
|
|
[% FOREACH header_field IN table_loo.header_fields %]
|
|
[% SWITCH header_field.field_label -%]
|
|
[% CASE "Label Number" -%]
|
|
<th>Label number</th>
|
|
[% CASE "Summary" -%]
|
|
<th>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>
|
|
[% ELSE %]
|
|
<tr>
|
|
[% FOREACH text_field IN table_loo.text_fields %]
|
|
[% IF ( text_field.select_field ) %]
|
|
<td align="center"><input type="checkbox" name="action" value="[% text_field.field_value %]"></td>
|
|
[% ELSE %]
|
|
<td>[% text_field.field_value %]</td>
|
|
[% END %]
|
|
[% END %]
|
|
</tr>
|
|
[% END %]
|
|
[% END %]
|
|
</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>
|
|
[% IF ( err ) %]
|
|
<div class="yui-u">
|
|
<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>
|
|
</div>
|
|
[% ELSIF ( duplicate_message ) %]
|
|
<div class="yui-u">
|
|
<div class="dialog message">
|
|
<strong>[% duplicate_count %] duplicate item(s) found</strong> and removed from batch [% batch_id %].
|
|
</div>
|
|
</div>
|
|
[% END %]
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="yui-b">
|
|
[% INCLUDE 'labels-menu.inc' %]
|
|
</div>
|
|
</div>
|
|
</div>
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|