Koha/koha-tmpl/intranet-tmpl/prog/en/modules/tools/csv-profiles.tt
Owen Leonard 2813e1e276
Bug 34796: Improve translation of title tags: Tools - Additional tools
This patch modifies templates for tools under the "Additional tools"
heading so that title tags can be more easily translated. The patch also
makes some modifications to titles, breadcrumb navigation, and page
headers in order to make them more consistent with each other and with
other similar pages.

To test, apply the patch and go to Tools. Test each page below and each
variation of the page to confirm that titles, breadcrumbs, and page
headers look correct.

- Calendar
- CSV profiles
  - Main page
    - New CSV profile
    - Modify CSV profile
    - Confirm deletion of CSV profile
- Log viewer
  - Search results
- News, HTML customizations, and pages
  - Create and modify each content type: news, pages, HTML
    customizations
- Task scheduler
- Quote editor
  - Main page
  - New quote
  - Edit quote
  - Import quotes
- Uploads
  - Main page
  - Upload file
  - Delete file
  - Search for file
- Access files
- OPAC problem reports (with OPACReportProblem enabled)

Signed-off-by: Stina Hallin <stina.hallin@ub.lu.se>
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-10-09 11:41:22 -03:00

373 lines
17 KiB
Text

[% USE raw %]
[% USE Asset %]
[% PROCESS 'i18n.inc' %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>[% FILTER collapse %]
[% IF op == 'add_form' %]
[% IF csv_profile %]
[% tx("Modify CSV profile '{csv_profile_name}'", {csv_profile_name = csv_profile.profile }) | html %] &rsaquo;
[% ELSE %]
[% t("New CSV profile") | html %] &rsaquo;
[% END %]
[% ELSIF ( op == 'delete_confirm' ) %]
[% tx("Confirm deletion of CSV profile '{csv_profile_name}'", {csv_profile_name = csv_profile.profile }) | html %] &rsaquo;
[% END %]
[% t("CSV profiles") | html %] &rsaquo;
[% t("Tools") | html %] &rsaquo;
[% t("Koha") | html %]
[% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
</head>
<body id="tools_csv-profiles" class="tools">
[% 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 %]
[% IF op == 'add_form' || op == 'delete_confirm' %]
[% WRAPPER breadcrumb_item %]
<a href="/cgi-bin/koha/tools/csv-profiles.pl">CSV profiles</a>
[% END %]
[% END %]
[% IF op == 'add_form' %]
[% IF csv_profile %]
[% WRAPPER breadcrumb_item bc_active= 1 %]
[% tx("Modify CSV profile '{csv_profile_name}'", {csv_profile_name = csv_profile.profile }) | html %]
[% END %]
[% ELSE %]
[% WRAPPER breadcrumb_item bc_active= 1 %]
<span>New CSV profile</span>
[% END %]
[% END %]
[% ELSIF ( op == 'delete_confirm') %]
[% WRAPPER breadcrumb_item bc_active= 1 %]
[% tx("Confirm deletion of CSV profile '{csv_profile_name}'", {csv_profile_name = csv_profile.profile }) | html %]
[% END %]
[% ELSE %]
[% WRAPPER breadcrumb_item bc_active= 1 %]
<span>CSV profiles</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>
[% FOR m IN messages %]
<div class="dialog [% m.type | html %]">
[% SWITCH m.code %]
[% CASE 'error_on_update' %]
<span>An error occurred when updating this CSV profile. Perhaps it already exists</span>
[% CASE 'error_on_insert' %]
<span>An error occurred when adding this CSV profile</span>
[% CASE 'error_on_delete' %]
<span>An error occurred when deleting this CSV profile. Check the logs</span>
[% CASE 'success_on_update' %]
<span>CSV profile updated successfully</span>
[% CASE 'success_on_insert' %]
<span>CSV profile added successfully</span>
[% CASE 'success_on_delete' %]
<span>CSV profile deleted successfully</span>
[% CASE 'already_exists' %]
<span>This CSV profile already exists</span>
[% CASE %]
<span>[% m.code | html %]</span>
[% END %]
</div>
[% END %]
[% BLOCK list_separator_options %]
[% IF selected_separator == ',' %]
<option value="," selected="selected">Comma (,)</option>
[% ELSE %]
<option value=",">Comma (,)</option>
[% END %]
[% IF selected_separator == '|' %]
<option value="|" selected="selected">Pipe (|)</option>
[% ELSE %]
<option value="|">Pipe (|)</option>
[% END %]
[% IF selected_separator == ';' %]
<option value=";" selected="selected">Semi-colon (;)</option>
[% ELSE %]
<option value=";">Semi-colon (;)</option>
[% END %]
[% IF selected_separator == '#' %]
<option value="#" selected="selected">Sharp (#)</option>
[% ELSE %]
<option value="#">Sharp (#)</option>
[% END %]
[% IF selected_separator == ' ' %]
<option value=" " selected="selected">Space ( )</option>
[% ELSE %]
<option value=" ">Space ( )</option>
[% END %]
[% IF selected_separator == '\t' %]
<option value="\t" selected="selected">Tabulation (\t)</option>
[% ELSE %]
<option value="\t">Tabulation (\t)</option>
[% END %]
[% IF selected_separator == '\n' %]
<option value="\n" selected="selected">New line (\n)</option>
[% ELSE %]
<option value="\n">New line (\n)</option>
[% END %]
[% END %]
[% BLOCK type_description %]
[% IF type_code == 'marc' %] <span>MARC</span>
[% ELSIF type_code == 'sql' %] <span>SQL</span>
[% ELSE %] <span>Unknown type</span>
[% END %]
[% END %]
[% BLOCK used_for_description %]
[% IF used_for_code == 'export_records' %] <span>Export records</span>
[% ELSIF used_for_code == 'late_issues' %] <span>Late serial issues claims</span>
[% ELSIF used_for_code == 'late_orders' %] <span>Export late orders</span>
[% ELSIF used_for_code == 'export_basket' %] <span>Basket export in acquisition</span>
[% ELSIF used_for_code == 'export_lost_items' %] <span>Export lost items in report</span>
[% ELSE %] <span>Unknown usage</span>
[% END %]
[% END %]
[% IF op == 'add_form' %]
[% IF csv_profile %]
<h1>[% tx("Modify CSV profile '{csv_profile_name}'", {csv_profile_name = csv_profile.profile }) | html %]</h1>
[% ELSE %]
<h1>New CSV profile</h1>
[% END %]
<form action="/cgi-bin/koha/tools/csv-profiles.pl" class="validated" method="post">
<input type="hidden" name="op" value="add_validate" />
<input type="hidden" name="export_format_id" value="[% csv_profile.export_format_id | html %]" />
<fieldset class="rows">
<ol>
[% IF csv_profile %]
<li><span class="label">Profile ID: </span>[% csv_profile.export_format_id | html %]</li>
[% END %]
<li>
<label for="profile" class="required">Profile name: </label>
<input type="text" name="profile" id="profile" value="[% csv_profile.profile | html %]" class="required">
<span class="required">Required</span>
</li>
<li>
<label for="type" class="required">Profile type: </label>
<select id="type" name="type">
[% FOREACH type IN [ 'marc' 'sql'] %]
[% IF csv_profile.type == type %]
<option value="[% type | html %]" selected="selected">[% PROCESS type_description type_code = type %]</option>
[% ELSE %]
<option value="[% type | html %]">[% PROCESS type_description type_code = type %]</option>
[% END %]
[% END %]
</select>
<span class="required">Required</span>
</li>
<li class="sql_specific">
<label for="used_for_sql">Usage: </label>
<select id="used_for_sql" name="used_for_sql">
[% FOREACH used_for IN [ 'late_issues' 'late_orders', 'export_basket' 'export_lost_items' ] %]
[% IF csv_profile.used_for == used_for %]
<option value="[% used_for | html %]" selected="selected">[% PROCESS used_for_description used_for_code = used_for %]</option>
[% ELSE %]
<option value="[% used_for | html %]">[% PROCESS used_for_description used_for_code = used_for %]</option>
[% END %]
[% END %]
</select>
</li>
<li class="marc_specific">
<label for="used_for_marc">Usage: </label>
<select id="used_for_marc" name="used_for_marc">
[% FOREACH used_for IN [ 'export_records' ] %]
[% IF csv_profile.used_for == used_for %]
<option value="[% used_for | html %]" selected="selected">[% PROCESS used_for_description used_for_code = used_for %]</option>
[% ELSE %]
<option value="[% used_for | html %]">[% PROCESS used_for_description used_for_code = used_for %]</option>
[% END %]
[% END %]
</select>
</li>
<li>
<label for="description">Profile description: </label>
<textarea cols="50" rows="2" name="description" id="description">[% csv_profile.description | html %]</textarea>
</li>
<li>
<label for="csv_separator">CSV separator: </label>
<select name="csv_separator" id="csv_separator">
[% PROCESS list_separator_options selected_separator=csv_profile.csv_separator || ',' %]
</select>
</li>
<li class="marc_specific">
<label for="field_separator">Field separator: </label>
<select name="field_separator" id="field_separator">
[% PROCESS list_separator_options selected_separator=csv_profile.field_separator || '#' %]
</select>
</li>
<li class="marc_specific"><label for="subfield_separator">Subfield separator: </label>
<select name="subfield_separator" id="subfield_separator">
[% PROCESS list_separator_options selected_separator=csv_profile.subfield_separator || '|'%]
</select>
</li>
<li class="marc_specific"><label for="encoding">Encoding: </label>
<select name="encoding" id="encoding">
[% FOREACH encoding IN encodings %]
[% IF csv_profile.encoding == encoding OR NOT csv_profile AND encoding == 'utf8' %]
<option selected="selected">[% encoding | html %]</option>
[% ELSE %]
<option>[% encoding | html %]</option>
[% END %]
[% END %]
</select>
</li>
<li class="marc_specific">
<label for="staff_only">Only available on the staff interface: </label>
[% IF csv_profile.staff_only %]
<input type="checkbox" name="staff_only" id="staff_only" value="1" checked="checked">
[% ELSE %]
<input type="checkbox" name="staff_only" id="staff_only" value="1">
[% END %]
</li>
<li class="marc_specific">
<label for="marc_content" class="required">Profile MARC fields: </label>
<textarea cols="50" rows="2" name="marc_content" id="marc_content">[% csv_profile.content | html %]</textarea>
<span class="required">Required</span>
<p>You have to define which fields or subfields you want to export, separated by pipes.</p>
<p>You can also use your own headers (instead of the ones from Koha) by prefixing the field number with an header, followed by the equal sign.</p>
<p>Example: Personal name=200|Entry element=210$a|300|009</p>
<p>You can use Template Toolkit tags too. See the help page for more information.</p>
</li>
<li class="sql_specific">
<label for="sql_content" class="required">Profile SQL fields: </label>
<textarea cols="50" rows="2" name="sql_content" id="sql_content">[% csv_profile.content | html %]</textarea>
<p>You have to define which fields you want to export, separated by pipes.</p>
<p>You can also use your own headers (instead of the ones from Koha) by prefixing the field name with an header, followed by the equal sign.</p>
<p>Example: Name=subscription.name|Title=subscription.title|Issue number=serial.serialseq</p>
<p>For late issues claims you can use data from following tables: serial, subscription, biblio, biblioitems and aqbookseller.</p>
<p>For basket exports you can use data from following tables: biblio, biblioitems, aqorders, aqbudgets and aqbasket.</p>
<p>For exporting late orders you must provide a profile in Template Toolkit syntax to generate the CSV file.</p>
</li>
</ol>
</fieldset>
<fieldset class="action">
<input type="submit" class="btn btn-primary" value="Submit" />
<a class="cancel" href="/cgi-bin/koha/tools/csv-profiles.pl">Cancel</a>
</fieldset>
</form>
[% END %]
[% IF op == 'delete_confirm' %]
<div class="dialog alert">
[% IF csv_profile %]
<h1>[% tx("Delete CSV profile '{csv_profile_name}'?", {csv_profile_name = csv_profile.profile }) | html %]</h1>
<form action="/cgi-bin/koha/tools/csv-profiles.pl" method="post">
<input type="hidden" name="op" value="delete_confirmed" />
<input type="hidden" name="export_format_id" value="[% csv_profile.export_format_id | html %]" />
<button type="submit" class="approve"><i class="fa fa-check" aria-hidden="true"></i> Yes, delete</button>
</form>
<form action="/cgi-bin/koha/tools/csv-profiles.pl" method="get">
<button type="submit" class="deny"><i class="fa fa-remove" aria-hidden="true"></i> No, do not delete</button>
</form>
[% ELSE %]
This CSV Profile does not exist.
[% END %]
</div>
[% END %]
[% IF op == 'list' %]
<div id="toolbar" class="btn-toolbar">
<a class="btn btn-default" id="newcsvprofile" href="/cgi-bin/koha/tools/csv-profiles.pl?op=add_form"><i class="fa fa-plus"></i> New CSV profile</a>
</div>
<h1>CSV profiles</h1>
[% IF csv_profiles %]
<div class="page-section">
<table id="table_csv_profiles">
<thead>
<th>CSV profile ID</th>
<th>Name</th>
<th>Description</th>
<th>Content</th>
<th>CSV separator</th>
<th>CSV type</th>
<th>Usage</th>
<th class="noExport">Actions</th>
</thead>
<tbody>
[% FOREACH csv_profile IN csv_profiles %]
<tr>
<td>[% csv_profile.export_format_id | html %]</td>
<td>[% csv_profile.profile | html %]</td>
<td>[% csv_profile.description | html %]</td>
<td>[% csv_profile.content | html | html_line_break %]</td>
<td>[% csv_profile.csv_separator | html %]</td>
<td>[% PROCESS type_description type_code = csv_profile.type %]</td>
<td>[% PROCESS used_for_description used_for_code = csv_profile.used_for %]</td>
<td class="actions">
<a href="/cgi-bin/koha/tools/csv-profiles.pl?op=add_form&amp;export_format_id=[% csv_profile.export_format_id | uri %]" class="btn btn-default btn-xs"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit</a>
<a href="/cgi-bin/koha/tools/csv-profiles.pl?op=delete_confirm&amp;export_format_id=[% csv_profile.export_format_id | uri %]" class="btn btn-default btn-xs"><i class="fa fa-trash-can"></i> Delete</a>
</td>
</tr>
[% END %]
</tbody>
</table>
</div>
[% ELSE %]
There is no CSV profile defined. <a href="/cgi-bin/koha/tools/csv-profiles.pl?op=add_form">Create a new CSV profile</a>.
[% END %]
[% END %]
</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 %]
[% Asset.js("js/tools-menu.js") | $raw %]
<script>
function reloadPage(p) {
var id = p.value;
if (id != 0) { document.location = "/cgi-bin/koha/tools/csv-profiles.pl?op=add_form&amp;export_format_id=" + id; }
}
$(document).ready(function() {
$("#type").change(function(){
if ( $(this).find("option:selected").val() == "marc" ) {
$("li.marc_specific").show();
$("#marc_content").attr("required", "required");
$("li.sql_specific").hide();
$("#sql_content").removeAttr("required");
} else {
$("li.marc_specific").hide();
$("#marc_content").removeAttr("required");
$("li.sql_specific").show();
$("#sql_content").attr("required", "required");
}
});
$("#type").change();
});
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]