Owen Leonard
1eb0fe4e5e
This patch removes the definition of translatable strings out of templates and into the corresponding JavaScript file, using the new JS i81n function. To test: - Apply the patch, go to Administration -> MARC bibliographic framework. - Click Actions -> Export and save the file. - Click Actions -> Import. - Select a file which isn't CSV or ODS. You should get an error message, "Please select a CSV (.csv) or ODS (.ods) spreadsheet file." - Select the file you exported previously and click "Import." You should see an error message, "Are you sure you want to replace the fields and subfields for the default framework structure? ..." - Click "OK." You should see a message in the modal window, "Importing to framework:..." - Edit your exported framework file in such a way that it isn't a valid framework export. - Repeat the process of importing the file. You should get an error message, "Error importing the framework..." TESTING TRANSLATABILITY - Update a translation, e.g. fr-FR: > cd misc/translator > perl translate update fr-FR - Open the corresponding .po file for JavaScript strings, e.g. misc/translator/po/fr-FR-messages-js.po - Locate strings pulled from koha-tmpl/intranet-tmpl/prog/js/biblio_framework.js for translation, e.g.: msgid "Please select a CSV (.csv) or ODS (.ods) spreadsheet file" msgstr "" - Edit the "msgstr" string however you want (it's just for testing). - Install the updated translation: > perl translate install fr-FR - Switch to your newly translated language in the staff client and repeat the test plan above. The translated strings should appear. https://bugs.koha-community.org/show_bug.cgi?id=26226 Signed-off-by: David Nind <david@davidnind.com> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
293 lines
17 KiB
Text
293 lines
17 KiB
Text
[% USE raw %]
|
||
[% USE Asset %]
|
||
[% SET footerjs = 1 %]
|
||
[% INCLUDE 'doc-head-open.inc' %]
|
||
<title>Koha › Administration › MARC frameworks
|
||
[% IF op == 'add_form' %]
|
||
› [% IF framework %]Modify framework text[% ELSE %]Add framework[% END %]
|
||
[% ELSIF op == 'delete_confirm' %]
|
||
› Delete framework for [% framework.frameworktext | html %] ([% framework.frameworkcode | html %])?
|
||
[% END %]
|
||
</title>
|
||
[% INCLUDE 'doc-head-close.inc' %]
|
||
</head>
|
||
|
||
<body id="admin_biblio_framework" class="admin">
|
||
[% INCLUDE 'header.inc' %]
|
||
[% INCLUDE 'prefs-admin-search.inc' %]
|
||
|
||
<div id="breadcrumbs">
|
||
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
|
||
› <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a>
|
||
› <a href="/cgi-bin/koha/admin/biblio_framework.pl">MARC frameworks</a>
|
||
[% IF op == 'add_form' %]
|
||
› [% IF framework %]Modify framework text[% ELSE %]Add framework[% END %]
|
||
[% ELSIF op == 'delete_confirm' %]
|
||
› Delete framework for [% framework.frameworktext | html %] ([% framework.frameworkcode | html %])?
|
||
[% END %]
|
||
</div>
|
||
|
||
<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' %]
|
||
An error occurred when updating this framework. Perhaps it already exists.
|
||
[% CASE 'error_on_insert' %]
|
||
An error occurred when adding this framework. The framework might already exist.
|
||
[% CASE 'error_on_delete' %]
|
||
An error occurred when deleting this framework. Check the logs.
|
||
[% CASE 'success_on_update' %]
|
||
Framework updated successfully.
|
||
[% CASE 'success_on_insert' %]
|
||
Framework added successfully.
|
||
[% CASE 'success_on_delete' %]
|
||
Framework deleted successfully.
|
||
[% CASE 'already_exists' %]
|
||
This framework code already exists.
|
||
[% CASE %]
|
||
[% m.code | html %]
|
||
[% END %]
|
||
</div>
|
||
[% END %]
|
||
|
||
|
||
|
||
[% IF op == 'list'%]
|
||
<div id="toolbar" class="btn-toolbar">
|
||
<a class="btn btn-default" id="newframework" href="/cgi-bin/koha/admin/biblio_framework.pl?op=add_form"><i class="fa fa-plus"></i> New framework</a>
|
||
</div>
|
||
[% END %]
|
||
|
||
[% IF op == 'add_form' %]
|
||
<h1>[% IF framework %]Modify framework text[% ELSE %]Add framework[% END %]</h1>
|
||
<form action="/cgi-bin/koha/admin/biblio_framework.pl" name="Aform" method="post" class="validated">
|
||
<input type="hidden" name="op" value="add_validate" />
|
||
<fieldset class="rows">
|
||
<ol>
|
||
[% IF framework %]
|
||
<li>
|
||
<span class="label">Framework code: </span>
|
||
<input type="hidden" id="frameworkcode" name="frameworkcode" value="[% framework.frameworkcode | html %]" />[% framework.frameworkcode | html %]
|
||
<input type="hidden" name="is_a_modif" value="1" />
|
||
</li>
|
||
[% ELSE %]
|
||
<li>
|
||
<label for="frameworkcode" class="required">Framework code: </label>
|
||
<input type="text" id="frameworkcode" name="frameworkcode" size="4" maxlength="4" required="required" class="required" />
|
||
<span class="required">Required</span>
|
||
</li>
|
||
[% END %]
|
||
<li>
|
||
<label for="description" class="required">Description: </label>
|
||
<input type="text" name="frameworktext" id="description" size="40" maxlength="80" value="[% framework.frameworktext | html %]" required="required" class="required" />
|
||
<span class="required">Required</span>
|
||
</li>
|
||
</ol>
|
||
</fieldset>
|
||
<fieldset class="action">
|
||
<input type="submit" value="Submit" class="submit" />
|
||
</fieldset>
|
||
</form>
|
||
[% END %]
|
||
|
||
[% IF op == 'delete_confirm' %]
|
||
<div class="dialog alert">
|
||
[% IF biblios_use_this_framework %]
|
||
<h3>This framework cannot be deleted</h3>
|
||
<p><strong><span class="ex">[% framework.frameworktext | html %] ([% framework.frameworkcode | html %])</span></strong></p>
|
||
<p>The framework is used [% biblios_use_this_framework | html %] times.</p>
|
||
<form action="/cgi-bin/koha/admin/biblio_framework.pl" method="get">
|
||
<button type="submit"><i class="fa fa-fw fa-arrow-left"></i> Return to frameworks</button>
|
||
</form>
|
||
[% ELSE %]
|
||
<h3>Delete framework for [% framework.frameworktext | html %] ([% framework.frameworkcode | html %])?</h3>
|
||
<form class="inline" action="/cgi-bin/koha/admin/biblio_framework.pl" method="post">
|
||
<input type="hidden" name="op" value="delete_confirmed" />
|
||
<input type="hidden" name="frameworkcode" value="[% framework.frameworkcode | html %]" />
|
||
<button type="submit" class="approve"><i class="fa fa-fw fa-check"></i> Yes, delete this framework</button>
|
||
</form>
|
||
<form class="inline" action="/cgi-bin/koha/admin/biblio_framework.pl" method="get">
|
||
<button type="submit" class="deny"><i class="fa fa-fw fa-remove"></i> No, do not delete</button>
|
||
</form>
|
||
[% END %]
|
||
</div>
|
||
[% END %]
|
||
|
||
[% IF op == 'list' %]
|
||
<h1>MARC frameworks</h1>
|
||
|
||
<table id="table_biblio_frameworks">
|
||
<thead>
|
||
<tr>
|
||
<th>Code</th>
|
||
<th>Description</th>
|
||
<th> </th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td> </td>
|
||
<td>Default framework</td>
|
||
<td>
|
||
<div class="btn-group dropup">
|
||
<a class="btn btn-default btn-xs dropdown-toggle" id="frameworkactions[% loo.frameworkcode | html %]" role="button" data-toggle="dropdown" href="#">
|
||
Actions <b class="caret"></b>
|
||
</a>
|
||
<ul class="dropdown-menu pull-right" role="menu" aria-labelledby="frameworkactions[% loo.frameworkcode | html %]">
|
||
<li><a href="marctagstructure.pl?frameworkcode="><i class="fa fa-eye"></i> MARC structure</a></li>
|
||
<!-- Trigger modal -->
|
||
<li><a href="#" data-toggle="modal" data-target="#exportModal_default" title="Export framework structure (fields, subfields) to a spreadsheet file (.csv or .ods)"><i class="fa fa-upload"></i> Export</a></li>
|
||
<!-- Trigger modal -->
|
||
<li><a href="#" data-toggle="modal" data-target="#importModal_[% framework.frameworkcode | html %][% frameworks.count | html %]" title="Import framework structure (fields, subfields) from a spreadsheet file (.csv or .ods)"><i class="fa fa-download"></i> Import</a></li>
|
||
</ul>
|
||
<!-- Modal to export default framework -->
|
||
<div class="modal" id="exportModal_default" tabindex="-1" role="dialog" aria-labelledby="exportLabelexportModal_default" aria-hidden="true">
|
||
<div class="modal-dialog">
|
||
<div class="modal-content">
|
||
<div class="modal-header">
|
||
<button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
|
||
<h3 id="exportLabelexportModal_default">Export default framework</h3>
|
||
</div>
|
||
<form action="import_export_framework.pl" name="form_defaul" method="get" target="_blank" class="form_export">
|
||
<div class="modal-body">
|
||
<fieldset>
|
||
<input type="hidden" name="frameworkcode" value="" />
|
||
<p><label for="csv_type_export_default"><input type="radio" name="type_export_default" value="csv" id="csv_type_export_default" checked="checked" /> Export to CSV spreadsheet</label></p>
|
||
<p><label for="ods_type_export_default"><input type="radio" name="type_export_default" value="ods" id="ods_type_export_default" /> Export to OpenDocument spreadsheet format</label></p>
|
||
</fieldset>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button type="submit" class="btn btn-default">Export</button>
|
||
<button class="btn btn-link" data-dismiss="modal" aria-hidden="true">Cancel</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Modal to import default framework -->
|
||
<div class="modal" id="importModal_[% framework.frameworkcode | html %][% frameworks.count | html %]" tabindex="-1" role="dialog" aria-labelledby="importLabelexportModal_default[% frameworks.count | html %]" aria-hidden="true">
|
||
<div class="modal-dialog">
|
||
<div class="modal-content">
|
||
<div class="modal-header">
|
||
<button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
|
||
<h3 id="importLabelexportModal_[% framework.frameworkcode | html %][% frameworks.count | html %]">Import default framework structure (fields and subfields) from a spreadsheet file (.csv or .ods)</h>
|
||
</div>
|
||
<form action="/cgi-bin/koha/admin/import_export_framework.pl" name="form_i_default" id="form_i_default" method="post" enctype="multipart/form-data" class="form_import">
|
||
<div class="modal-body">
|
||
<input type="hidden" name="frameworkcode" value="default" />
|
||
<input type="hidden" name="action" value="import" />
|
||
<p><label for="file_import_default">Upload file:</label> <input type="file" name="file_import_default" id="file_import_default" class="input_import" /></p>
|
||
<div id="importing_default" style="display:none" class="importing"><img src="[% interface | html %]/[% theme | html %]/img/spinner-small.gif" alt="" /><span class="importing_msg"></span></div>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button type="submit" class="btn btn-default">Import</button>
|
||
<button class="btn btn-link" data-dismiss="modal" aria-hidden="true">Close</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
|
||
[% FOREACH loo IN frameworks %]
|
||
<tr>
|
||
<td>[% loo.frameworkcode | html %]</td>
|
||
<td>[% loo.frameworktext | html %]</td>
|
||
<td>
|
||
<div class="btn-group dropup">
|
||
<a class="btn btn-default btn-xs dropdown-toggle" id="frameworkactions[% loo.frameworkcode | html %]" role="button" data-toggle="dropdown" href="#">
|
||
Actions <b class="caret"></b>
|
||
</a>
|
||
<ul class="dropdown-menu pull-right" role="menu" aria-labelledby="frameworkactions[% loo.frameworkcode | html %]">
|
||
<li><a href="marctagstructure.pl?frameworkcode=[% loo.frameworkcode | uri %]"><i class="fa fa-eye"></i> MARC structure</a></li>
|
||
<li><a href="/cgi-bin/koha/admin/biblio_framework.pl?op=add_form&frameworkcode=[% loo.frameworkcode | uri %]"><i class="fa fa-pencil"></i> Edit</a></li>
|
||
<li><a href="/cgi-bin/koha/admin/biblio_framework.pl?op=delete_confirm&frameworkcode=[% loo.frameworkcode | uri %]"><i class="fa fa-trash"></i> Delete</a></li>
|
||
<!-- Trigger modal -->
|
||
<li><a href="#" data-toggle="modal" data-target="#exportModal_[% loo.frameworkcode | html %][% loop.count | html %]" title="Export framework structure (fields, subfields) to a spreadsheet file (.csv or .ods)"><i class="fa fa-upload"></i> Export</a></li>
|
||
<!-- Trigger modal -->
|
||
<li><a href="#" data-toggle="modal" data-target="#importModal_[% loo.frameworkcode | html %][% loop.count | html %]" title="Import framework structure (fields, subfields) from a spreadsheet file (.csv or .ods)"><i class="fa fa-download"></i> Import</a></li>
|
||
</ul>
|
||
<!-- Modal to export other framework -->
|
||
<div class="modal" id="exportModal_[% loo.frameworkcode | html %][% loop.count | html %]" tabindex="-1" role="dialog" aria-labelledby="exportLabelexportModal_[% loo.frameworkcode | html %][% loop.count | html %]" aria-hidden="true">
|
||
<div class="modal-dialog">
|
||
<div class="modal-content">
|
||
<div class="modal-header">
|
||
<button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
|
||
<h3 id="exportLabelexportModal_[% loo.frameworkcode | html %][% loop.count | html %]">Export [% loo.frameworktext | html %] framework</h3>
|
||
</div>
|
||
<form action="import_export_framework.pl" name="form_[% loo.frameworkcode | html %]" method="get" target="_blank" class="form_export">
|
||
<div class="modal-body">
|
||
<fieldset>
|
||
<input type="hidden" name="frameworkcode" value="[% loo.frameworkcode | html %]" />
|
||
<p><label for="csv_type_export_[% loo.frameworkcode | html %][% loop.count | html %]"><input type="radio" name="type_export_[% loo.frameworkcode | html %]" value="csv" id="csv_type_export_[% loo.frameworkcode | html %][% loop.count | html %]" checked="checked" /> Export to CSV spreadsheet</label></p>
|
||
<p><label for="ods_type_export_[% loo.frameworkcode | html %][% loop.count | html %]"><input type="radio" name="type_export_[% loo.frameworkcode | html %]" value="ods" id="ods_type_export_[% loo.frameworkcode | html %][% loop.count | html %]" /> Export to OpenDocument spreadsheet format</label></p>
|
||
</fieldset>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button type="submit" class="btn btn-default">Export</button>
|
||
<button class="btn btn-link" data-dismiss="modal" aria-hidden="true">Cancel</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- Modal to import other framework -->
|
||
<div class="modal" id="importModal_[% loo.frameworkcode | html %][% loop.count | html %]" tabindex="-1" role="dialog" aria-labelledby="importLabelexportModal_[% loo.frameworkcode | html %][% loop.count | html %]" aria-hidden="true">
|
||
<div class="modal-dialog">
|
||
<div class="modal-content">
|
||
<div class="modal-header">
|
||
<button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
|
||
<h3 id="importLabelexportModal_[% loo.frameworkcode | html %][% loop.count | html %]">Import [% loo.frameworkcode | html %] framework structure (fields and subfields) from a spreadsheet file (.csv or .ods)</h3>
|
||
</div>
|
||
<form action="/cgi-bin/koha/admin/import_export_framework.pl" name="form_i_[% loo.frameworkcode | html %]" id="form_i_[% loo.frameworkcode | html %]" method="post" enctype="multipart/form-data" class="form_import">
|
||
<div class="modal-body">
|
||
<input type="hidden" name="frameworkcode" value="[% loo.frameworkcode | html %]" />
|
||
<input type="hidden" name="action" value="import" />
|
||
<p><label for="file_import_[% loo.frameworkcode | html %]">Upload file:</label> <input type="file" name="file_import_[% loo.frameworkcode | html %]" id="file_import_[% loo.frameworkcode | html %]" class="input_import" /></p>
|
||
<div id="importing_[% loo.frameworkcode | html %]" style="display:none" class="importing"><img src="[% interface | html %]/[% theme | html %]/img/spinner-small.gif" alt="" /><span class="importing_msg"></span></div>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button type="submit" class="btn btn-default" title="[% loo.frameworkcode | html %]">Import</button>
|
||
<button class="btn btn-link" data-dismiss="modal" aria-hidden="true">Close</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
|
||
[% END %]
|
||
</table>
|
||
|
||
[% END %]
|
||
|
||
</main>
|
||
</div> <!-- /.col-sm-10.col-sm-push-2 -->
|
||
|
||
<div class="col-sm-2 col-sm-pull-10">
|
||
<aside>
|
||
[% INCLUDE 'admin-menu.inc' %]
|
||
</aside>
|
||
</div> <!-- /.col-sm-2.col-sm-pull-10 -->
|
||
</div> <!-- /.row -->
|
||
|
||
[% MACRO jsinclude BLOCK %]
|
||
[% INCLUDE 'datatables.inc' %]
|
||
[% Asset.js("js/admin-menu.js") | $raw %]
|
||
<script>
|
||
var template_path = "[% interface | html %]/[% theme | html %]";
|
||
</script>
|
||
[% Asset.js("js/biblio_framework.js") | $raw %]
|
||
[% END %]
|
||
[% INCLUDE 'intranet-bottom.inc' %]
|