Owen Leonard
b118074fe4
This patch updates several label creator templates to remove the use of "onclick" in favor of defining click events in JavaScript. Also changed: - Replaced the non-existant element <icon> with <i> - Removed the use of <center> and 'align="center"'; - In the item search results template: - The use of the checkboxes jQuery plugin has been replaced with straight jQuery for simplicity's sake. - Output of table headers has been modified so that translatable strings are in the template instead of having English strings passed from the script. - Moved the 'Add checked' and 'Done' buttons into a floating toolbar. To test, apply the patch and go to Tools -> Label creator. - Choose New -> Label batch - Click 'Add items' - Perform a search for items. - Confirm that 'select all' and 'clear all' links work. - Confirm that clicking an individual 'Add' button works. - Select multiple items and click the 'Add checked' button. Confirm that the selected items were added to your batch. - Click 'Add items' again to save the selected items to your batch. - Test that the 'Delete' and 'Export' buttons next to any item work correctly. - Choose Manage -> Label batches - Test that the 'Delete' button works correctly. - Select one or more batches and test that the 'Export selected' button works correctly. Revision: Removed changes to pagination in the item search results template since it didn't work. Followed test plan, works as expected. Signed-off-by: Marc Véron <veron@veron.ch> Signed-off-by: Hector Castro <hector.hecaxmmx@gmail.com> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org> Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
188 lines
10 KiB
Text
188 lines
10 KiB
Text
[% BLOCK translate_label_element %]
|
|
[%- SWITCH element -%]
|
|
[%- CASE 'layout' -%]layout
|
|
[%- CASE 'Layouts' -%]Layouts
|
|
[%- CASE 'template' -%]template
|
|
[%- CASE 'Templates' -%]Templates
|
|
[%- CASE 'profile' -%]profile
|
|
[%- CASE 'Profiles' -%]Profiles
|
|
[%- CASE 'batch' -%]batch
|
|
[%- CASE 'Batches' -%]Batches
|
|
[%- END -%]
|
|
[% END %]
|
|
[% INCLUDE 'doc-head-open.inc' %]
|
|
<title>Koha › Tools › Label creator › [% PROCESS translate_label_element element=label_element_title %]</title>
|
|
[% INCLUDE 'doc-head-close.inc' %]
|
|
[% INCLUDE 'greybox.inc' %]
|
|
<script type="text/javascript">
|
|
//<![CDATA[
|
|
function Xport() {
|
|
batches= new Array;
|
|
if(document.layouts.action.length > 0) {
|
|
for (var i=0; i < document.layouts.action.length; i++) {
|
|
if (document.layouts.action[i].checked) {
|
|
batches.push("batch_id=" + document.layouts.action[i].value);
|
|
}
|
|
}
|
|
if (batches.length < 1) {
|
|
alert(_("Please select at least one batch to export."));
|
|
return; // no batch selected
|
|
}
|
|
getstr = batches.join("&");
|
|
}
|
|
else if (document.layouts.action.checked) {
|
|
getstr = "batch_id="+document.layouts.action.value;
|
|
}
|
|
else {
|
|
alert(_("Please select at least one batch to export."));
|
|
return; // no batch selected
|
|
}
|
|
return GB_showCenter('Export Labels', "/cgi-bin/koha/labels/label-print.pl?" + getstr, 400, 800);
|
|
};
|
|
function selected_layout(op) {
|
|
var selected = new Array;
|
|
if (document.layouts.action.length) {
|
|
for (i=0;i<document.layouts.action.length;i++){
|
|
if (document.layouts.action[i].checked){
|
|
selected.push(i);
|
|
}
|
|
};
|
|
if (selected.length == 1) {
|
|
return(document.layouts.action[selected[0]].value);
|
|
}
|
|
else {
|
|
alert(_("Please select only one %s to %s.").format("[% label_element %]", op));
|
|
return (-1);
|
|
}
|
|
}
|
|
else {
|
|
if (document.layouts.action.checked){
|
|
return(document.layouts.action.value);
|
|
}
|
|
};
|
|
alert(_("Please select a %s.").format("[% label_element %]"));
|
|
return (-1);
|
|
};
|
|
$(document).ready(function(){
|
|
$("#print").click(function(e){
|
|
e.preventDefault();
|
|
Xport();
|
|
});
|
|
$(".delete").on("click", function(){
|
|
return confirmDelete( _("Are you sure you want to delete this?") );
|
|
});
|
|
});
|
|
//]]>
|
|
</script>
|
|
|
|
<link rel="stylesheet" type="text/css" href="[% interface %]/[% theme %]/css/datatables.css" />
|
|
[% INCLUDE 'datatables.inc' %]
|
|
<script type="text/javascript" id="js">
|
|
$(document).ready(function() {
|
|
$("#labels-table").dataTable($.extend(true, {}, dataTablesDefaults, {
|
|
"sPaginationType": "four_button",
|
|
"aaSorting": [[ 1, "asc" ]],
|
|
"aoColumnDefs": [
|
|
{ "aTargets": [ -1 ], "bSortable": false, "bSearchable": false },
|
|
]
|
|
}));
|
|
});
|
|
</script>
|
|
|
|
</head>
|
|
<body id="labels_label-manage" class="tools labels">
|
|
[% 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">Label creator</a> ›
|
|
[% PROCESS translate_label_element element=label_element_title %]
|
|
</div>
|
|
<div id="doc3" class="yui-t2">
|
|
<div id="bd">
|
|
<div id="yui-main">
|
|
<div class="yui-b">
|
|
[% INCLUDE 'labels-toolbar.inc' %]
|
|
<div class="yui-gc">
|
|
<div class="yui-u first" id="manage-label-layouts">
|
|
<div class="hint">Current library: [% LoginBranchname %]</div>
|
|
[% IF ( table_loop ) %]
|
|
<form name="layouts" action="/cgi-bin/koha/label-manage.pl?label_element=[% label_element %]">
|
|
[% IF ( label_element == 'layout' ) %]
|
|
<h2>Currently available layouts</h2>
|
|
[% ELSIF ( label_element == 'template' ) %]
|
|
<h2>Currently available templates</h2>
|
|
[% ELSIF ( label_element == 'profile' ) %]
|
|
<h2>Currently available profiles</h2>
|
|
[% ELSIF ( label_element == 'batch' ) %]
|
|
<h2>Currently available batches</h2>
|
|
[% END %]
|
|
<table id="labels-table">
|
|
[% 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 'Layout ID' %]<th>Layout ID</th>
|
|
[% CASE 'Layout' %]<th>Layout</th>
|
|
[% CASE 'Barcode Type' %]<th>Barcode type</th>
|
|
[% CASE 'Print Type' %]<th>Print type</th>
|
|
[% CASE 'Template ID' %]<th>Template ID</th>
|
|
[% CASE 'Template Name' %]<th>Template name</th>
|
|
[% CASE 'Description' %]<th>Description</th>
|
|
[% CASE 'Actions' %]<th>Actions</th>
|
|
[% CASE 'Profile ID' %]<th>Profile ID</th>
|
|
[% CASE 'Printer Name' %]<th>Printer name</th>
|
|
[% CASE 'Paper Bin' %]<th>Paper bin</th>
|
|
[% CASE 'Batch ID' %]<th>Batch ID</th>
|
|
[% CASE 'Item Count' %]<th>Item count</th>
|
|
[% CASE %]<th>[% header_field.field_label %]</th>
|
|
[% END %]
|
|
[% END %]
|
|
</tr>
|
|
</thead>
|
|
[% ELSE %]
|
|
<tr>
|
|
[% FOREACH text_field IN table_loo.text_fields %]
|
|
[% IF ( text_field.select_field ) %]
|
|
<td class="actions">
|
|
<a class="btn btn-mini" href="/cgi-bin/koha/labels/label-edit-[% label_element |url %].pl?op=edit&element_id=[% text_field.field_value |url %]"><i class="fa fa-edit"></i> Edit</a>
|
|
<a class="btn btn-mini delete" href="/cgi-bin/koha/labels/label-manage.pl?op=delete&label_element=[% label_element %]&element_id=[% text_field.field_value |url %]"><i class="fa fa-trash"></i> Delete</a>
|
|
</td>
|
|
[% IF label_element == 'batch' %] <td><input type="checkbox" name="action" value="[% text_field.field_value %]" /></td>[% END %]
|
|
[% ELSIF ( text_field.field_value ) %]
|
|
<td>[% text_field.field_value %]</td>
|
|
[% ELSE %]
|
|
<td> </td>
|
|
[% END %]
|
|
[% END %]
|
|
</tr>
|
|
[% END %]
|
|
[% END %]
|
|
</table>
|
|
[% IF ( print ) %]<button type="button" class="btn btn-sm" id="print">Export selected</button>[% END %]
|
|
</fieldset>
|
|
</form>
|
|
[% ELSE %]
|
|
<div class="dialog message">
|
|
<h4>There are no [% label_element_title %] currently available.</h4>
|
|
<p>Use the toolbar above to create a new [% label_element %].</p></div>
|
|
[% END %]
|
|
</div>
|
|
[% IF ( error ) %]
|
|
<div class="yui-u">
|
|
<div class="dialog alert">
|
|
<strong>WARNING:</strong> An error was encountered and the [% op %] operation for [% label_element %] [% element_id %] was not completed. Please have your system administrator check the error log for details.
|
|
</div>
|
|
</div>
|
|
[% END %]
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="yui-b">
|
|
[% INCLUDE 'tools-menu.inc' %]
|
|
</div>
|
|
</div>
|
|
[% INCLUDE 'intranet-bottom.inc' %]
|