Koha/koha-tmpl/intranet-tmpl/prog/en/modules/admin/oai_set_mappings.tt
Owen Leonard f636a041a6
Bug 34400: Inconsistencies in OAI sets page titles, breadcrumbs, and header
This patch fixes a couple of inconsistencies in the style of the
OIA sets administration screen, making sure the page title, breadcrumb
navigation, and page headers are consistent with each other.

The patch also corrects the structure of the form on the OAI set
mappings page so that the submit button is outside the "page-section"
area.

To test, apply the patch and go to Administration -> OAI sets. Test each
variation of the page:

- Main page
- New OAI set
- Edit OAI set
- OAI set mappings

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-18 12:06:21 -03:00

191 lines
9 KiB
Text

[% USE raw %]
[% USE Asset %]
[% PROCESS 'i18n.inc' %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>[% FILTER collapse %]
[% tx("Mappings for set '{oai_set}'", { oai_set = setSpec }) | html %] &rsaquo;
[% t("OAI sets") | html %] &rsaquo;
[% t("Administration") | html %] &rsaquo;
[% t("Koha") | html %]
[% END %]</title>
[% INCLUDE 'doc-head-close.inc' %]
</head>
<body id="admin_oai_set_mappings" class="admin">
[% WRAPPER 'header.inc' %]
[% INCLUDE 'prefs-admin-search.inc' %]
[% END %]
[% WRAPPER 'sub-header.inc' %]
[% WRAPPER breadcrumbs %]
[% WRAPPER breadcrumb_item %]
<a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a>
[% END %]
[% WRAPPER breadcrumb_item %]
<a href="/cgi-bin/koha/admin/oai_sets.pl">OAI sets</a>
[% END %]
[% WRAPPER breadcrumb_item bc_active= 1 %]
[% tx("Mappings for set '{oai_set}'", { oai_set = setSpec }) | html %]
[% 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>
[% IF ( mappings_saved ) %]
<div class="dialog message">
<h4>Mappings have been saved</h4>
<p><a href="/cgi-bin/koha/admin/oai_sets.pl">Return to sets management</a></p>
</div>
[% END %]
<h1>[% tx("Mappings for set '{oai_set}'", { oai_set = setSpec }) | html %]</h1>
[% UNLESS ( mappings ) %]
<div class="dialog alert"><p><strong>Warning:</strong> No mappings have been defined for this set</p></div>
[% END %]
<form action="/cgi-bin/koha/admin/oai_set_mappings.pl" method="post" id="mappingform">
<div class="page-section">
<table id="mappings">
<thead>
<tr>
<th>Rule operator</th>
<th>Field</th>
<th>Subfield</th>
<th>Operator</th>
<th>Value</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
[% IF ( mappings ) %]
[% FOREACH mapping IN mappings %]
<tr>
<td>
<select name="rule_operator">
[% IF (mapping.rule_operator == 'and') %]
<option value="and" selected="selected">and</option>
[% ELSE %]
<option value="and">and</option>
[% END %]
[% IF (mapping.rule_operator == 'or') %]
<option value="or" selected="selected">or</option>
[% ELSE %]
<option value="or">or</option>
[% END %]
</select>
</td>
<td><input type="text" name="marcfield" size="3" value="[% mapping.marcfield | html %]" /></td>
<td><input type="text" name="marcsubfield" size="1" value="[% mapping.marcsubfield | html %]" /></td>
<td><select name=operator>
[% IF mapping.operator == 'equal' %]
<option value="equal" selected="selected">is equal to</option>
<option value="notequal">not equal to</option>
[% ELSE %]
<option value="equal">is equal to</option>
<option value="notequal" selected="selected">not equal to</option>
[% END %]
</select></td>
<td><input type="text" name="marcvalue" value="[% mapping.marcvalue | html %]" /></td>
<td>
[% IF ( loop.last ) %]
<button type="button" id="new_rule_button" class="btn btn-default btn-xs" title="Add another condition"><i class="fa fa-plus"></i> Add</button>
[% END %]
</td>
<td><button class="btn btn-default btn-xs clear-field" type="button"><i class="fa fa-trash-can"></i> Delete</button></td>
</tr>
[% END %]
[% ELSE %]
<tr>
<td>
<select name="rule_operator">
[% IF (mapping.rule_operator == 'and') %]
<option value="and" selected="selected">and</option>
[% ELSE %]
<option value="and">and</option>
[% END %]
[% IF (mapping.rule_operator == 'or') %]
<option value="or" selected="selected">or</option>
[% ELSE %]
<option value="or">or</option>
[% END %]
</select>
</td>
<td><input type="text" name="marcfield" size="3" /></td>
<td><input type="text" name="marcsubfield" size="1" /></td>
<td><select name=operator>
<option value="equal">is equal to</option>
<option value="notequal">not equal to</option>
</select></td>
<td><input type="text" name="marcvalue" /></td>
<td>
<button type="button" id="new_rule_button" class="btn btn-default btn-xs" title="Add another condition"><i class="fa fa-plus"></i> Add</button>
</td>
<td><button class="btn btn-default btn-xs clear-field" type="button"><i class="fa fa-trash-can"></i> Delete</button></td>
</tr>
[% END %]
</tbody>
</table>
<input type="hidden" name="id" value="[% id | html %]" />
<input type="hidden" name="op" value="save" />
</div> <!-- /.page-section -->
<fieldset class="action">
<input type="submit" class="btn btn-primary" value="Save" /> <a class="cancel" href="/cgi-bin/koha/admin/oai_sets.pl">Cancel</a>
</fieldset>
</form>
</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 %]
[% Asset.js("js/admin-menu.js") | $raw %]
<script>
$(document).ready(function() {
$("#mappingform").submit(function(){
hideDialogBox();
});
$("body").on("click","#new_rule_button", function(e){
e.preventDefault();
newCondition();
});
$("body").on("click",".clear-field",function(e){
e.preventDefault();
clearRow(e.target);
});
$("#mappings tbody tr:first-child td:first-child select").hide();
});
function newCondition() {
var tr = $('#new_rule_button').parents('tr');
var clone = $(tr).clone();
$("#new_rule_button").parent('td').find("#new_rule_button").remove();
$(clone).find("select").show();
$(tr).parent('tbody').append(clone);
}
function clearRow(link){
var tr = $(link).parent().parent();
var found = tr.find('#new_rule_button');
if( found.length ){
tr.find('input[type="text"]').attr("value","");
} else {
tr.remove();
}
$("#mappings tbody tr:first-child td:first-child select").hide();
}
function hideDialogBox() {
$('div.dialog').remove();
}
</script>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]