Jonathan Druart
ba2f667c3c
Test plan: Add/edit/remove biblio frameworks from the administration module (admin/biblio_framework.pl). You should get message feedback after each action. Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> No problems found. Tested add/edit/delete No koha-qa errors Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
338 lines
18 KiB
Text
338 lines
18 KiB
Text
[% 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 %] ([% framework.frameworkcode %])?
|
||
[% END %]
|
||
</title>
|
||
[% INCLUDE 'doc-head-close.inc' %]
|
||
<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
|
||
[% INCLUDE 'datatables.inc' %]
|
||
<script type="text/javascript">
|
||
/* Import/Export from/to spreadsheet */
|
||
|
||
var importing = false;
|
||
|
||
$(document).ready(function() {
|
||
$("#table_biblio_frameworks").dataTable($.extend(true, {}, dataTablesDefaults, {
|
||
"aoColumnDefs": [
|
||
{ "aTargets": [ -1, -2, -3, -4, -5 ], "bSortable": false, "bSearchable": false },
|
||
{ "aTargets": [ 0, 1 ], "sType": "natural" },
|
||
],
|
||
"bSort": false,
|
||
"sPaginationType": "four_button"
|
||
}));
|
||
|
||
$("body").css("cursor", "auto");
|
||
$('.import_export_options').hide();
|
||
$('a.import_export_fw').click(function() {
|
||
if (!importing) {
|
||
$('.import_export_options').hide();
|
||
$(this).next().show('slide');
|
||
}
|
||
return false;
|
||
});
|
||
$('.import_export_close').click(function() {
|
||
if (!importing) {
|
||
$('.import_export_options').fadeOut('fast');
|
||
$("body").css("cursor", "auto");
|
||
return false;
|
||
}
|
||
});
|
||
$('.input_import').val("");
|
||
|
||
var matches = new RegExp("\\?error_import_export=(.+)$").exec(window.location.search);
|
||
if (matches && matches.length > 1) {
|
||
alert(_("Error importing the framework %s").format(decodeURIComponent(matches[1])));
|
||
}
|
||
|
||
$('input.input_import').change( function() {
|
||
var filename = $(this).val();
|
||
if ( ! /(?:\.csv|\.ods|\.xml)$/.test(filename)) {
|
||
$(this).css("background-color","yellow");
|
||
alert(_("Please select an ods or xml file"));
|
||
$(this).val("");
|
||
$(this).css("background-color","white");
|
||
}
|
||
});
|
||
$('form.form_export').submit(function() {
|
||
$('.modal').modal("hide");
|
||
return true;
|
||
});
|
||
$('form.form_import').submit(function() {
|
||
var id = $(this).attr('id');
|
||
var obj = $('#' + id + ' input:file');
|
||
if (/(?:\.csv|\.ods|\.xml)$/.test(obj.val())) {
|
||
if (confirm(_("Do you really want to import the framework fields and subfields? This will overwrite the current configuration. For safety reasons please use the export option to make a backup"))) {
|
||
var frameworkcode = $('#' + id + ' input:hidden[name=frameworkcode]').val();
|
||
$('#importing_' + frameworkcode).find("span").html(_("Importing to framework: %s. Importing from file: %s").format("<strong>" + frameworkcode + "</strong>", "<i>" + obj.val().replace(new RegExp("^.+[/\\\\]"),"") + "</i>"));
|
||
if (navigator.userAgent.toLowerCase().indexOf('msie') != -1) {
|
||
var timestamp = new Date().getTime();
|
||
$('#importing_' + frameworkcode).find("img").attr('src', '[% interface %]/[% theme %]/img/loading-small.gif' + '?' +timestamp);
|
||
}
|
||
$('#importing_' + frameworkcode).css('display', 'block');
|
||
if (navigator.userAgent.toLowerCase().indexOf('firefox') == -1) $("body").css("cursor", "progress");
|
||
importing = true;
|
||
$(".modal-footer,.closebtn").hide();
|
||
return true;
|
||
} else
|
||
return false;
|
||
}
|
||
obj.css("background-color","yellow");
|
||
alert(_("Please select an spreadsheet (csv, ods, xml) file"));
|
||
obj.val("");
|
||
obj.css("background-color","white");
|
||
return false;
|
||
});
|
||
});
|
||
|
||
</script>
|
||
|
||
</head>
|
||
<body id="admin_biblio_framework" class="admin">
|
||
[% INCLUDE 'header.inc' %]
|
||
[% INCLUDE 'cat-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 %] ([% framework.frameworkcode %])?
|
||
[% END %]
|
||
</div>
|
||
|
||
<div id="doc3" class="yui-t2">
|
||
<div id="bd">
|
||
<div id="yui-main">
|
||
<div class="yui-b">
|
||
|
||
[% FOR m IN messages %]
|
||
<div class="dialog [% m.type %]">
|
||
[% 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 inserting 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 inserted successfully.
|
||
[% CASE 'success_on_delete' %]
|
||
Framework deleted successfully.
|
||
[% CASE 'already_exists' %]
|
||
This framework code already exists.
|
||
[% CASE %]
|
||
[% m.code %]
|
||
[% END %]
|
||
</div>
|
||
[% END %]
|
||
|
||
|
||
|
||
[% IF op == 'list'%]
|
||
<div id="toolbar" class="btn-toolbar">
|
||
<a class="btn btn-small" 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 %]" />[% framework.frameworkcode %]
|
||
</li>
|
||
[% ELSE %]
|
||
<li>
|
||
<label for="frameworkcode" class="required">Framework code: </label>
|
||
<input type="text" id="frameworkcode" name="frameworkcode" size="4" maxlength="4" onblur="toUC(this)" 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">
|
||
<h3>Delete framework for [% framework.frameworktext %] ([% framework.frameworkcode %])?</h3>
|
||
[% IF biblios_use_this_framework %]
|
||
<p><strong>This framework is used [% biblios_use_this_framework %] times</strong>.</p>
|
||
[% END %]
|
||
<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 %]" />
|
||
<input type="submit" class="approve" value="Yes, delete this framework!" />
|
||
</form>
|
||
<form class="inline" action="/cgi-bin/koha/admin/biblio_framework.pl" method="get">
|
||
<input type="submit" class="deny" value="No, do not delete!" />
|
||
</form>
|
||
</div>
|
||
[% END %]
|
||
|
||
[% IF op == 'list' %]
|
||
<h1>MARC frameworks</h1>
|
||
<p>Framework name, then go to MARC biblio to set MARC editor parameters</p>
|
||
<table id="table_biblio_frameworks">
|
||
<thead>
|
||
<tr>
|
||
<th>Code</th>
|
||
<th>Description</th>
|
||
<th> </th>
|
||
<th>Edit</th>
|
||
<th>Delete</th>
|
||
<th title="Export framework structure (fields, subfields) to a spreadsheet file (.csv, .xml, .ods)">Export</th>
|
||
<th title="Import framework structure (fields, subfields) from a spreadsheet file (.csv, .xml, .ods)">Import</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td> </td>
|
||
<td>Default framework</td>
|
||
<td><a href="marctagstructure.pl?frameworkcode=">MARC structure</a></td>
|
||
<td> </td>
|
||
<td> </td>
|
||
<td>
|
||
|
||
<!-- Button to trigger modal -->
|
||
<a href="#" data-toggle="modal" data-target="#exportModal_default">Export</a>
|
||
<!-- Modal -->
|
||
<div class="modal hide" id="exportModal_default" tabindex="-1" role="dialog" aria-labelledby="exportLabelexportModal_default" aria-hidden="true">
|
||
<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_defaul" value="csv" id="csv_type_export_default" checked="checked" /> Export to CSV spreadsheet</label></p>
|
||
<p><label for="xml_type_export_default"><input type="radio" name="type_export_default" value="excel" id="xml_type_export_default" /> Export to Excel with XML format, compatible with OpenOffice/LibreOffice as well</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">Export</button>
|
||
<button class="btn btn-link" data-dismiss="modal" aria-hidden="true">Cancel</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
|
||
</td>
|
||
<td>
|
||
|
||
<!-- Button to trigger modal -->
|
||
<a href="#" data-toggle="modal" data-target="#importModal_[% framework.frameworkcode %][% frameworks.count %]">Import</a>
|
||
<!-- Modal -->
|
||
<div class="modal hide" id="importModal_[% framework.frameworkcode %][% frameworks.count %]" tabindex="-1" role="dialog" aria-labelledby="importLabelexportModal_default[% frameworks.count %]" aria-hidden="true">
|
||
<div class="modal-header">
|
||
<button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
|
||
<h3 id="importLabelexportModal_[% framework.frameworkcode %][% frameworks.count %]">Import default framework structure (fields and subfields) from a spreadsheet file (.csv, .xml, .ods)</h3>
|
||
</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 %]/[% theme %]/img/loading-small.gif" alt="" /><span class="importing_msg"></span></div>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button type="submit" class="btn">Import</button>
|
||
<button class="btn btn-link" data-dismiss="modal" aria-hidden="true">Close</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
|
||
</td>
|
||
</tr>
|
||
<!-- note highlight assignment appears backwards because we already have a normal row for Default -->
|
||
[% FOREACH loo IN frameworks %]
|
||
<tr>
|
||
<td>[% loo.frameworkcode %]</td>
|
||
<td>[% loo.frameworktext %]</td>
|
||
<td><a href="marctagstructure.pl?frameworkcode=[% loo.frameworkcode %]" >MARC structure</a></td>
|
||
<td><a href="/cgi-bin/koha/admin/biblio_framework.pl?op=add_form&frameworkcode=[% loo.frameworkcode |html %]">Edit</a></td>
|
||
<td><a href="/cgi-bin/koha/admin/biblio_framework.pl?op=delete_confirm&frameworkcode=[% loo.frameworkcode |html %]">Delete</a></td>
|
||
<td>
|
||
|
||
<!-- Button to trigger modal -->
|
||
<a href="#" data-toggle="modal" data-target="#exportModal_[% loo.frameworkcode %][% loop.count %]">Export</a>
|
||
<!-- Modal -->
|
||
<div class="modal hide" id="exportModal_[% loo.frameworkcode %][% loop.count %]" tabindex="-1" role="dialog" aria-labelledby="exportLabelexportModal_[% loo.frameworkcode %][% loop.count %]" aria-hidden="true">
|
||
<div class="modal-header">
|
||
<button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
|
||
<h3 id="exportLabelexportModal_[% loo.frameworkcode %][% loop.count %]">Export [% loo.frameworktext %] framework</h3>
|
||
</div>
|
||
<form action="import_export_framework.pl" name="form_[% loo.frameworkcode %]" method="get" target="_blank" class="form_export">
|
||
<div class="modal-body">
|
||
<fieldset>
|
||
<input type="hidden" name="frameworkcode" value="[% loo.frameworkcode %]" />
|
||
<p><label for="csv_type_export_[% loo.frameworkcode %][% loop.count %]"><input type="radio" name="type_export_[% loo.frameworkcode %]" value="csv" id="csv_type_export_[% loo.frameworkcode %][% loop.count %]" checked="checked" /> Export to CSV spreadsheet</label></p>
|
||
<p><label for="xml_type_export_[% loo.frameworkcode %][% loop.count %]"><input type="radio" name="type_export_[% loo.frameworkcode %]" value="excel" id="xml_type_export_[% loo.frameworkcode %][% loop.count %]" /> Export to Excel with XML format, compatible with OpenOffice/LibreOffice as well</label></p>
|
||
<p><label for="ods_type_export_[% loo.frameworkcode %][% loop.count %]"><input type="radio" name="type_export_[% loo.frameworkcode %]" value="ods" id="ods_type_export_[% loo.frameworkcode %][% loop.count %]" /> Export to OpenDocument spreadsheet format</label></p>
|
||
|
||
</fieldset>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button type="submit" class="btn">Export</button>
|
||
<button class="btn btn-link" data-dismiss="modal" aria-hidden="true">Cancel</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</td>
|
||
<td>
|
||
|
||
<!-- Button to trigger modal -->
|
||
<a href="#" data-toggle="modal" data-target="#importModal_[% loo.frameworkcode %][% loop.count %]">Import</a>
|
||
<!-- Modal -->
|
||
<div class="modal hide" id="importModal_[% loo.frameworkcode %][% loop.count %]" tabindex="-1" role="dialog" aria-labelledby="importLabelexportModal_[% loo.frameworkcode %][% loop.count %]" aria-hidden="true">
|
||
<div class="modal-header">
|
||
<button type="button" class="closebtn" data-dismiss="modal" aria-hidden="true">×</button>
|
||
<h3 id="importLabelexportModal_[% loo.frameworkcode %][% loop.count %]">Import [% loo.frameworkcode %] framework structure (fields and subfields) from a spreadsheet file (.csv, .xml, .ods)</h3>
|
||
</div>
|
||
<form action="/cgi-bin/koha/admin/import_export_framework.pl" name="form_i_[% loo.frameworkcode %]" id="form_i_[% loo.frameworkcode %]" method="post" enctype="multipart/form-data" class="form_import">
|
||
<div class="modal-body">
|
||
<input type="hidden" name="frameworkcode" value="[% loo.frameworkcode %]" />
|
||
<input type="hidden" name="action" value="import" />
|
||
<p><label for="file_import_[% loo.frameworkcode %]">Upload file:</label> <input type="file" name="file_import_[% loo.frameworkcode %]" id="file_import_[% loo.frameworkcode %]" class="input_import" /></p>
|
||
<div id="importing_[% loo.frameworkcode %]" style="display:none" class="importing"><img src="[% interface %]/[% theme %]/img/loading-small.gif" alt="" /><span class="importing_msg"></span></div>
|
||
</div>
|
||
<div class="modal-footer">
|
||
<button type="submit" class="btn">Import</button>
|
||
<button class="btn btn-link" data-dismiss="modal" aria-hidden="true">Close</button>
|
||
</div>
|
||
</form>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
[% END %]
|
||
</table>
|
||
|
||
[% END %]
|
||
</div>
|
||
</div>
|
||
<div class="yui-b">
|
||
[% INCLUDE 'admin-menu.inc' %]
|
||
</div>
|
||
</div>
|
||
[% INCLUDE 'intranet-bottom.inc' %]
|