Koha/koha-tmpl/intranet-tmpl/prog/en/modules/labels/label-manage.tt
Owen Leonard b118074fe4 Bug 16576 [Revised] Remove the use of "onclick" from label templates
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>
2016-09-09 12:11:21 +00:00

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 &rsaquo; Tools &rsaquo; Label creator &rsaquo; [% 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> &rsaquo;
<a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> &rsaquo;
<a href="/cgi-bin/koha/labels/label-home.pl">Label creator</a> &rsaquo;
[% 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&amp;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&amp;label_element=[% label_element %]&amp;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>&nbsp;</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' %]