Koha/koha-tmpl/intranet-tmpl/prog/en/modules/patroncards/edit-batch.tt
Owen Leonard 8ff6189c2a
Bug 33918: Improve translation of title tags: Patron card creator
This patch updates patron card creator templates so that title
tags can be more easily translated.

The patch also makes some minor changes to some templates to improve
consistency between page title, breadcrumb navigation, and page heading.

To test, apply the patch and confirm that the following pages have the
correct title tags:

- Tools -> Patron card creator home page
  - New -> Card batch
  - New -> Image
  - New -> Layout
  - New -> Card template
  - New -> Printer profile
  - Manage -> Card batches
  - Manage -> Images
  - Manage -> Layouts
  - Manage -> Card templates
  - Manage -> Printer profiles

Signed-off-by: Émily-Rose Francoeur <emily-rose.francoeur@inLibro.com>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-09-22 10:52:48 -03:00

381 lines
19 KiB
Text

[% USE raw %]
[% USE Asset %]
[% PROCESS 'i18n.inc' %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>[% FILTER collapse %]
[% IF ( batch_id ) %]
[% t("Edit patron card batch") | html %] ([% batch_id | html %])
[% ELSE %]
[% t("New patron card batch") | html %]
[% END %] &rsaquo;
[% t("Batches") | html %] &rsaquo;
[% t("Patron card creator") | html %] &rsaquo;
[% t("Tools") | html %] &rsaquo;
[% t("Koha") | html %]
[% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
</head>
<body id="pcard_edit-batch" class="tools pcard">
[% WRAPPER 'header.inc' %]
[% INCLUDE 'cat-search.inc' %]
[% END %]
[% WRAPPER 'sub-header.inc' %]
[% WRAPPER breadcrumbs %]
[% WRAPPER breadcrumb_item %]
<a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a>
[% END %]
[% WRAPPER breadcrumb_item %]
<a href="/cgi-bin/koha/patroncards/home.pl">Patron card creator</a>
[% END %]
[% WRAPPER breadcrumb_item %]
<a href="/cgi-bin/koha/patroncards/manage.pl?card_element=batch">Batches</a>
[% END %]
[% WRAPPER breadcrumb_item bc_active= 1 %]
[% IF description %]
<span>Edit [% description | html %]</span>
[% ELSIF batch_id %]
<span>Edit ([% batch_id | html %])</span>
[% ELSE %]
<span>New patron card batch</span>
[% END %]
[% END %]
[% END #/ WRAPPER breadcrumbs %]
[% END #/ WRAPPER sub-header.inc %]
<div class="main container-fluid">
<div class="row">
<div class="col-sm-10 col-sm-push-2">
<main>
[% INCLUDE 'patroncards-toolbar.inc' %]
<h1>[% IF description %]<span>Edit</span> [% description | html %]
[% ELSIF batch_id %]<span>Edit patron card batch</span> [% batch_id | html %]
[% ELSE %]<span>New patron card batch</span>[% END %]
</h1>
[% IF ( duplicate_message ) %]
<div class="dialog message">
<strong>Duplicate patrons removed from batch number [% batch_id | html %]: [% duplicate_count | html %]</strong>
</div>
[% END %]
[% INCLUDE 'patroncards-errors.inc' %]
<div id="manage-patroncard-batches">
<form name="add_by_bor_num" action="/cgi-bin/koha/patroncards/edit-batch.pl" method="post">
<div>
<fieldset class="rows" style="border-bottom: 0px; border: 0px;">
<ol><li id="description">
<input type="hidden" name="op" value="add" />
<input type="hidden" name="batch_id" value="[% batch_id | html %]" />
<label for="description">Batch description: </label>
<input type="text" name="description" value="[% description | html %]"> <span id="change-status"></span>
</li><li>
<label for="bor_num_list">Add by borrowernumber(s):
<br /> <span class="hint">One borrowernumber per line.</span>
</label>
<textarea rows="5" id="bor_num_list" name="bor_num_list" tabindex="1" class="focus"></textarea>
</li></ol>
</fieldset>
</div>
</form>
<div id="batch-manage" class="action">
<a class="btn btn-default" id="additems" href="#"><i class="fa fa-plus"></i> Add patron(s)</a>[% IF ( table_loop ) %]
<a class="btn btn-default" id="savedesc" href="#" data-batch_id="[% batch_id | html %]"><i class="fa fa-save"></i> Save description</a>
<a class="btn btn-default" id="removeitems" href="#"><i class="fa fa-trash-can"></i> Remove selected patrons</a>
<a class="btn btn-default" id="deletebatch" href="#"><i class="fa fa-minus-square"></i> Delete batch</a>
<a class="btn btn-default" id="deduplicate" href="#"><i class="fa fa-minus"></i> Remove duplicates</a>
<a class="btn btn-default" id="exportitems" href="#"><i class="fa-solid fa-share-from-square"></i> Export selected card(s)</a>
<a class="btn btn-default" id="exportbatch" href="#"><i class="fa-solid fa-share-from-square"></i> Export card batch</a>[% END %]
</div>
[% IF ( table_loop ) %]
<form name="items">
<h2>Patrons in batch number [% batch_id | html %]</h2>
<div class="page-section">
<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 "Summary" -%]
<th>Patron name</th>
[% CASE "Borrower Number" %]
<th>Borrower number</th>
[% CASE "Actions " %]
<th class="noExport">Actions</th>
[% CASE "Select" -%]
<th>Select</th>
[% CASE %]
<th>[% header_field.field_label | html %]</th>
[% END -%]
[% END %]
</tr>
</thead>
<tbody>
[% ELSE %]
<tr>
[% FOREACH text_field IN table_loo.text_fields %]
[% IF ( text_field.select_field ) %]
<td>
<a class="btn btn-default btn-xs delete" href="/cgi-bin/koha/patroncards/edit-batch.pl?op=remove&amp;batch_id=[% batch_id | html %]&amp;label_id=[% text_field.field_value | html %]"><i class="fa fa-trash-can"></i> Delete</a>
<a class="btn btn-default btn-xs export" href="#" data-batch-id="[% batch_id | html %]" data-label-id="[% text_field.field_value | html %]"><i class="fa-solid fa-share-from-square"></i> Export</a>
</td>
<td><input type="checkbox" name="action" value="[% text_field.field_value | html %]" /></td>
[% ELSE %]
<td>[% text_field.field_value | html %]</td>
[% END %]
[% END %]
</tr>
[% END %]
[% END %]
</tbody>
</table>
</div>
</form>
[% ELSE %]
<fieldset class="rows" style="border-bottom: 0px; border: 0px;">
<ol><li>
<div class="dialog message">
<h4>There are no patrons in this batch yet</h4>
<p>Add patrons by borrowernumber using the text area above or leave empty to add via patron search.</p>
</div>
</li></ol>
</fieldset>
[% END %]
</div>
</main>
</div> <!-- /.col-sm-10.col-sm-push-2 -->
<div class="col-sm-2 col-sm-pull-10">
<aside>
[% INCLUDE 'tools-menu.inc' %]
</aside>
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
</div> <!-- /.row -->
[% MACRO jsinclude BLOCK %]
[% INCLUDE 'greybox.inc' %]
[% INCLUDE 'datatables.inc' %]
<script>
function DeleteConfirm() {
var msg = _("Are you sure you want to delete batch %s?").format("[% batch_id | html %]");
var answer = confirm(msg);
if (answer) {
window.location = "/cgi-bin/koha/patroncards/manage.pl?op=delete&amp;card_element=batch&amp;element_id=[% batch_id | html %]";
} else {
return; // abort delete
}
};
function Remove() {
items = 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);
}
}
getstr = items.join("&");
var msg = _("Are you sure you want to remove the selected patron(s) from this batch?");
} else if (document.items.action.checked) {
alert(_("Deletion of patron from a batch with only one patron will delete the batch.") + "\n\n" + _("If this is what you want, select the 'Delete batch' option from the toolbar"));
return; // no deletion for single item batch
} else {
alert(_("Please select at least one patron to delete."));
return; // no item selected
}
var answer = confirm(msg);
if (answer) {
window.location = "/cgi-bin/koha/patroncards/edit-batch.pl?op=remove&amp;batch_id=[% batch_id | html %]&amp;" + getstr;
} else {
return; // abort delete
}
};
function Add() {
var bor_nums = document.getElementById("bor_num_list");
if (bor_nums.value == '') {
window.open("/cgi-bin/koha/members/search.pl?columns=checkbox,cardnumber,name,category,branch,dateexpiry,borrowernotes,action&selection_type=add",
'PatronPopup',
'width=1024,height=768,location=yes,toolbar=no,'
+ 'scrollbars=yes,resize=yes');
} else {
document.forms["add_by_bor_num"].submit();
}
};
function add_user(borrowernumber) {
$("#bor_num_list").val($("#bor_num_list").val()+borrowernumber+"\r\n");
}
function DeDuplicate() {
window.location = "/cgi-bin/koha/patroncards/edit-batch.pl?op=de_duplicate&amp;batch_id=[% batch_id | html %]";
};
function Xport(mode) {
if (mode == 'label') {
patroncards= new Array;
if(document.items.action.length > 0) {
for (var i=0; i < document.items.action.length; i++) {
if (document.items.action[i].checked) {
patroncards.push("label_id=" + document.items.action[i].value);
}
}
if (patroncards.length < 1) {
alert(_("Please select at least one card to export."));
return; // no batch selected
}
getstr = patroncards.join("&");
} else if (document.items.action.checked) {
getstr = document.items.action.value;
} else {
alert(_("Please select at least one card to export."));
return; // no batch selected
}
return GB_showCenter(_("Export patron cards"), "/cgi-bin/koha/patroncards/print.pl?batch_id=[% batch_id | html %]&" + getstr, 400, 800);
} else if (mode == 'batch') {
return GB_showCenter(_("Export patron cards"), "/cgi-bin/koha/patroncards/print.pl?batch_id=[% batch_id | html %]", 400, 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() {
// Prepare DataTables settings
var aLengthMenu = [10, 20, 50, 100, -1];
var aLengthMenuLabel = [10, 20, 50, 100, _("All")];
var patronsPerPage = [% Koha.Preference('PatronsPerPage') | html %];
for ( var i = 0; i < aLengthMenu.length; i++ ) {
if ( aLengthMenu[i] == patronsPerPage ) {
break;
}
if ( aLengthMenu[i] > patronsPerPage || aLengthMenu[i] == -1 ) {
aLengthMenu.splice(i, 0, patronsPerPage);
aLengthMenuLabel.splice(i, 0, patronsPerPage);
break;
}
}
[% IF table_loop %]
$("#description").show();
[% ELSE %]
$("#description").hide();
[% END %]
$("#batcht").dataTable($.extend(true, {}, dataTablesDefaults, {
"aoColumnDefs": [
{ "aTargets": [ -2, -1 ], "bSortable": false, "bSearchable": false }
],
"aaSorting": [[ 0, "asc" ]],
"sPaginationType": "full",
"aLengthMenu": [aLengthMenu, aLengthMenuLabel],
"pageLength": patronsPerPage,
"autoWidth": false
}));
$("#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;
});
$(".delete").on("click", function(){
return confirmDelete( _("Are you sure you want to delete this patron from the card batch?") );
});
$(".export").on("click", function(e){
e.preventDefault();
var label_id = $(this).data("label-id");
var batch_id = $(this).data("batch-id");
GB_showCenter( _("Export single card"),'/cgi-bin/koha/patroncards/print.pl?batch_id=' + batch_id + '&label_id=' + label_id, 400, 800);
});
$("#savedesc").click(function(event){
var newdescription = $(this).siblings('input[name="description"]').val();
var batch_id = $(this).data('batch_id');
var ajaxData = {
'newdescription': newdescription,
'batch_id': batch_id,
'card_element': "batch",
'creator': "patroncard",
};
$.ajax({
url: '/cgi-bin/koha/svc/creator_batches',
type: 'POST',
dataType: 'json',
data: ajaxData,
})
.done(function(data){
if (data.status == 'success') {
$("input[name='description']").text(data.newdesc);
$("#change-status").text(_("Saved"));
} else {
$("#change-status").text(_("Unable to save description"));
}
});
});
$("#savedesc").click(function(event){
var newdescription = $('input[name="description"]').val();
var batch_id = $(this).data('batch_id');
var ajaxData = {
'newdescription': newdescription,
'batch_id': batch_id,
'card_element': "batch",
'creator': "patroncard",
};
$.ajax({
url: '/cgi-bin/koha/svc/creator_batches',
type: 'POST',
dataType: 'json',
data: ajaxData,
})
.done(function(data){
if (data.status == 'success') {
$("input[name='description']").text(data.newdesc);
$("#change-status").text(_("Saved"));
} else {
$("#change-status").text(_("Unable to save description"));
}
});
});
});
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]