Koha/koha-tmpl/intranet-tmpl/prog/en/modules/admin/matching-rules.tt
Aleisha Amohia 16414374aa Bug 17793: Make sysprefs search show on all Admin pages
This patch is amended to use the sysprefs search on all Administration
pages that do not have their own custom search.

To test:
1) Go to Administration
2) Notice Catalogue search at the top - seems out of place.
3) Apply patch and refresh page.
4) Notice admin / sysprefs search now shows and is more appropriate.
5) Confirm searching for sysprefs still works

This patch affects the following pages:
- admin-home.pl
- audio_alerts.pl
- authtypes.pl
- auth_tag_structure.pl
- authorised_values.pl
- biblio_framework.pl
- marctagstructure.pl
- branch_transfer_limits.pl
- branches.pl
- checkmarc.pl
- classsources.pl
- columns_settings.pl
- didyoumean.pl
- edi_accounts.pl
- edi_ean_accounts.pl
- fieldmapping.pl
- item_circulation_alerts.pl
- items_search_fields.pl
- items_search_field.pl
- item_types.pl
- koha2marklinks.pl
- matching-rules.pl
- oai_sets.pl
- oai_set_mappings.pl
- patron-attr-types.pl
- smart-rules.pl
- transport-cost-matrix.pl
- sms_providers.pl

Sponsored-by: Catalyst IT

Signed-off-by: Mark Tompsett <mtompset@hotmail.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
2017-02-17 15:34:11 +00:00

759 lines
32 KiB
Text

[% INCLUDE 'doc-head-open.inc' %]
<title>Koha &rsaquo; Administration &rsaquo; Record matching rules
[% IF ( matching_rule_form ) %]
[% IF ( edit_matching_rule ) %]
&rsaquo; Modify record matching rule
[% ELSE %]
&rsaquo; Add record matching rule
[% END %]
[% END %]
[% IF ( delete_matching_rule_form ) %]
&rsaquo; Confirm deletion of record matching rule &quot;[% code %]&quot;
[% END %]
</title>
[% INCLUDE 'doc-head-close.inc' %]
[% BLOCK norms_text %]
[% SWITCH norm %]
[% CASE 'none' %]None
[% CASE 'remove_spaces' %]Remove spaces
[% CASE 'upper_case' %]Uppercase
[% CASE 'lower_case' %]Lowercase
[% CASE 'legacy_default' %]Legacy default
[% CASE %][% norm %]
[% END %]
[% END %]
[% BLOCK norms_options %]
[%# PARAMS: selected_norm %]
[% FOREACH norm IN valid_norms %]
[% IF ( norm == selected_norm ) %]
<option value="[% norm %]" selected="selected">[% PROCESS norms_text norm=norm %]</option>
[% ELSE %]
<option value="[% norm %]">[% PROCESS norms_text norm=norm %]</option>
[% END %]
[% END %]
[% END %]
[% BLOCK norms_select %]
[%# PARAMS: selected_norm, id, name %]
[% UNLESS valid_norms.grep(selected_norm).size %]
[%# Fallback to 'none' %]
[% selected_norm = 'none' %]
[% END %]
<select id="[% id %]" name="[% name %]">
[% PROCESS norms_options selected_norm=selected_norm %]
</select>
[% END %]
<script type="text/javascript">
//<![CDATA[
var maxMatchPoint = [% max_matchpoint %];
var maxMatchCheck = [% max_matchcheck %];
function InsertMatchpoint(loc, index) {
var original= $("#"+index);
var clone = original.clone();
clone.show();
// update IDs and form names
maxMatchPoint++;
clone.attr('id', 'mp_' + maxMatchPoint);
$("span.counter",clone).html(maxMatchPoint);
$("label",clone).each(function(){
var s = $(this).attr("for");
if (s.match(/mp_num/)) {
$(this).attr("for",s.replace(/mp_num/, 'mp_' + maxMatchPoint));
}
});
$("div",clone).each(function(){
var s = $(this).attr("id");
if (s.match(/mp_num/)) {
$(this).attr("id",s.replace(/mp_num/, 'mp_' + maxMatchPoint));
}
});
$("input",clone).each(function(){
var s = $(this).attr("id");
if(s.match(/mp_num/)){
$(this).attr("id",s.replace(/mp_num/, 'mp_' + maxMatchPoint));
}
var s = $(this).attr("name");
if(s.match(/mp_num/)){
$(this).attr("name",s.replace(/mp_num/, 'mp_' + maxMatchPoint));
}
});
$("#match_points").append(clone);
}
function InsertMatchcheck(loc, index) {
var original= $("#"+index);
var clone = original.clone();
clone.show();
// update IDs and form names
maxMatchCheck++;
clone.attr('id', 'mc_' + maxMatchCheck);
$("span.counter",clone).html(maxMatchCheck);
$("label",clone).each(function(){
var s = $(this).attr("for");
if (s.match(/mc_num/)) {
$(this).attr("for",s.replace(/mc_num/, 'mc_' + maxMatchCheck));
}
});
$("div",clone).each(function(){
var s = $(this).attr("id");
if (s.match(/mc_num/)) {
$(this).attr("id",s.replace(/mc_num/, 'mc_' + maxMatchCheck));
}
});
$("input",clone).each(function(){
var s = $(this).attr("id");
if(s.match(/mc_num/)){
$(this).attr("id",s.replace(/mc_num/, 'mc_' + maxMatchCheck));
}
var s = $(this).attr("name");
if(s.match(/mc_num/)){
$(this).attr("name",s.replace(/mc_num/, 'mc_' + maxMatchCheck));
}
});
$("#match_checks").append(clone);
}
function DeleteMatchpoint(loc) {
$(loc).parent().parent().parent().remove();
if($(".matchgroup",$("#match_points")).length == 0){
maxMatchPoint = 0;
$("#addMatchPoint").show();
}
}
function DeleteMatchcheck(loc) {
$(loc).parent().parent().parent().remove();
if($(".matchgroup",$("#match_checks")).length == 0){
maxMatchCheck = 0;
$("#addMatchCheck").show();
}
}
function DoCancel(f) {
f.op.value='';
document.Aform.submit();
}
function CheckMatchingRuleForm(f) {
var ok=1;
var _alertString="";
var alertString2;
if (f.code.value.length==0) {
_alertString += "\n- " + _("Matching rule code missing");
}
if (f.description.value.length==0) {
_alertString += "\n- " + _("Description missing");
}
if (f.threshold.value.length==0) {
_alertString += "\n- " + _("Threshold missing");
}
if (_alertString.length==0) {
document.Aform.submit();
} else {
alertString2 = _("Form not submitted because of the following problem(s)");
alertString2 += "\n------------------------------------------------------------------------------------\n";
alertString2 += _alertString;
alert(alertString2);
}
}
function CheckRuleForm(f) {
var ok=1;
var _alertString="";
var alertString2;
if (f.sort_rule.value.length==0) {
_alertString += "\n- " + _("Filing rule code missing");
}
if (f.description.value.length==0) {
_alertString += "\n- " + _("Description missing");
}
if (f.sort_routine.value.length==0) {
_alertString += "\n- " + _("Sort routine missing");
}
if (_alertString.length==0) {
document.Aform.submit();
} else {
alertString2 = _("Form not submitted because of the following problem(s)");
alertString2 += "\n------------------------------------------------------------------------------------\n";
alertString2 += _alertString;
alert(alertString2);
}
}
//]]>
</script>
<style type="text/css">
fieldset.rows fieldset.rows { border-width : 0; }
fieldset.rows fieldset.rows fieldset.rows { border-width : 1px; }
fieldset, fieldset.rows { width : 90%; padding: .3em .6em .3em .6em; }
fieldset.rows fieldset {font-size:100%;}
div.matchgroup { border:1px solid #DDD; border-left-width: 15px; padding:.4em; margin-bottom:.6em;}
</style>
</head>
<body id="admin_matching-rules" class="admin">
[% INCLUDE 'header.inc' %]
[% INCLUDE 'prefs-admin-search.inc' %]
<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo; [% IF ( display_list ) %]Record matching rules[% ELSE %]<a href="/cgi-bin/koha/admin/matching-rules.pl">Record matching rules</a>[% END %]
[% IF ( matching_rule_form ) %]
[% IF ( edit_matching_rule ) %]
&rsaquo; Modify record matching rule
[% ELSE %]
&rsaquo; Add record matching rule
[% END %]
[% END %]
[% IF ( delete_matching_rule_form ) %]
&rsaquo; Confirm deletion of record matching rule &quot;[% code %]&quot;
[% END %]
</div>
<div id="doc3" class="yui-t2">
<div id="bd">
<div id="yui-main">
<div class="yui-b">
[% IF ( matching_rule_form ) %]
[% IF ( edit_matching_rule ) %]
<h2>Modify record matching rule</h2>
[% ELSE %]
<h2>Add record matching rule</h2>
[% END %]
<form action="[% script_name %]" name="Aform" method="post">
<input type="hidden" name="op" value="[% confirm_op %]" />
<fieldset class="rows">
<ol>
<li>
[% IF ( edit_matching_rule ) %]
<span class="label">Matching rule code: </span>
<input type="hidden" name="matcher_id" value="[% matcher_id %]" />
<input type="hidden" name="code" value="[% code %]" />
[% code %]
[% ELSE %]
<label for="code" class="required">Matching rule code: </label>
<input type="text" id="code" name="code" size="10" maxlength="10" /> <span class="required">Required</span>
[% END %]
</li>
<li><label for="description" class="required">Description: </label>
<input type="text" id="description" name="description" size="50" maxlength="250"
value="[% description |html %]" /> <span class="required">Required</span>
</li>
<li><label for="threshold" class="required">Match threshold: </label>
<input type="text" id="threshold" name="threshold" size="5" maxlength="5"
value="[% threshold |html %]" /> <span class="required">Required</span>
</li>
<li><label for="record_type" class="required">Record type: </label>
<select id="record_type" name="record_type">
[% IF ( record_type == "authority" ) %]
<option value="biblio">Bibliographic record</option>
<option value="authority" selected="selected">Authority record</option>
[% ELSE %]
<option value="biblio" selected="selected">Bibliographic record</option>
<option value="authority">Authority record</option>
[% END %]
</select><span class="required">Required</span>
</li>
</ol>
</fieldset>
<fieldset class="rows" id="match_points">
<h4>Match points</h4>
[% IF ( edit_matching_rule ) %]
[% IF ( matchpoints ) %]<p id="addMatchPoint" style="display:none;">[% ELSE %]<p id="addMatchPoint">[% END %]<a href="#" class="button" onclick="InsertMatchpoint('mp_1', 'mp_template'); return false;">Add match point</a></p>
[% ELSE %]<p id="addMatchPoint" style="display:none;"><a href="#" class="button" onclick="InsertMatchpoint('mp_1', 'mp_template'); return false;">Add match point</a></p>[% END %]
[% IF ( edit_matching_rule ) %]
[% FOREACH matchpoint IN matchpoints %]
<div id="mp_[% matchpoint.mp_num %]" class="matchgroup">
<fieldset class="rows">
<legend>Match point [% matchpoint.mp_num %] | <a href="#" class="button" onclick="InsertMatchpoint('mp_[% matchpoint.mp_num %]', 'mp_template'); return false;">Add match point</a> | <a href="#" class="button" onclick="DeleteMatchpoint(this); return false;">Remove this match point</a></legend>
<ol>
<li>
<label for="mp_[% matchpoint.mp_num %]_search_index">Search index: </label>
<input type ="text" id="mp_[% matchpoint.mp_num %]_search_index"
name="mp_[% matchpoint.mp_num %]_search_index" size="20"
value="[% matchpoint.index |html %]"
maxlength="30" />
</li>
<li>
<label for="mp_[% matchpoint.mp_num %]_score">Score: </label>
<input type ="text" id="mp_[% matchpoint.mp_num %]_score"
name="mp_[% matchpoint.mp_num %]_score" size="5"
value="[% matchpoint.score |html %]"
maxlength="5" />
</li>
</ol>
[% FOREACH component IN matchpoint.components %]
<fieldset class="rows" id="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]">
<legend>Matchpoint components</legend>
<ol>
<li>
<label for="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_tag">Tag: </label>
<input type="text" id="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_tag"
name="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_tag"
value="[% component.tag |html %]"
size="3" maxlength="3" />
</li>
<li>
<label for="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_subfields">Subfields: </label>
<input type="text" id="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_subfields"
name="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_subfields"
value="[% component.subfields |html %]"
size="10" maxlength="40" />
</li>
<li>
<label for="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_offset">Offset: </label>
<input type="text" id="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_offset"
name="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_offset"
value="[% component.offset |html %]"
size="5" maxlength="5" />
</li>
<li>
<label for="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_length">Length: </label>
<input type="text" id="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_length"
name="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_length"
value="[% component.length |html %]"
size="5" maxlength="5" />
</li>
[% FOREACH norm IN component.norms %]
<li id="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_n_[% norm.norm_num %]">
<label for="mp_[% matchpoint.mp_num %]_c_[% component.comp_num %]_n__[% norm.norm_num %]_norm">Normalization rule: </label>
[% PROCESS norms_select
selected_norm=norm.norm
id="mp_${norm.mp_num}_c_${component.comp_num}_n__${norm.norm_num}_norm"
name="mp_${matchpoint.mp_num}_c_${component.comp_num}_n_${norm.norm_num}_norm"
%]
</li>
[% END %]
</ol>
</fieldset>
[% END %]
</fieldset>
<br style="clear:both;" />
</div>
</fieldset>
[% END %]
[% ELSE %]
<div id="mp_1" class="matchgroup">
<fieldset class="rows">
<legend>Match point 1 | <a href="#" class="button" onclick="InsertMatchpoint('mp_1', 'mp_template'); return false;">Add match point</a> | <a href="#" class="button" onclick="DeleteMatchpoint(this); return false;">Remove this match point</a></legend>
<ol>
<li>
<label for="mp_1_search_index">Search index: </label>
<input type ="text" id="mp_1_search_index" name="mp_1_search_index" size="20"
maxlength="30" />
</li>
<li>
<label for="mp_1_score">Score: </label>
<input type ="text" id="mp_1_score" name="mp_1_score" size="5" maxlength="5" />
</li>
</ol>
<fieldset class="rows" id="mp_1_c_1">
<legend>Matchpoint components</legend>
<ol>
<li>
<label for="mp_1_c_1_tag">Tag: </label>
<input type="text" id="mp_1_c_1_tag" name="mp_1_c_1_tag" size="3" maxlength="3" />
</li>
<li>
<label for="mp_1_c_1_subfields">Subfields: </label>
<input type="text" id="mp_1_c_1_subfields" name="mp_1_c_1_subfields" size="10" maxlength="40" />
</li>
<li>
<label for="mp_1_c_1_offset">Offset: </label>
<input type="text" id="mp_1_c_1_offset" name="mp_1_c_1_offset" size="5" maxlength="5" />
</li>
<li>
<label for="mp_1_c_1_length">Length: </label>
<input type="text" id="mp_1_c_1_length" name="mp_1_c_1_length" size="5" maxlength="5" />
</li>
<li id="mp_1_c_1_n_1">
<label for="mp_1_c_1_n_1_norm">Normalization rule: </label>
[% PROCESS norms_select
selected_norm="none"
id="mp_1_c_1_n_1_norm"
name="mp_1_c_1_n_1_norm"
%]
</li>
</ol>
</fieldset>
</fieldset>
<br style="clear:both;" />
</div>
</fieldset>
[% END %]
<fieldset class="rows" id="match_checks">
<h4>Required match checks</h4>
[% IF ( edit_matching_rule ) %]
[% IF ( matchchecks ) %]<p id="addMatchCheck" style="display:none;">[% ELSE %]<p id="addMatchCheck">[% END %]<a href="#" class="button" onclick="InsertMatchcheck('mc_1', 'mc_template'); return false;">Add match check</a></p>
[% ELSE %]<p id="addMatchCheck" style="display:none;"><a href="#" class="button" onclick="InsertMatchcheck('mc_1', 'mc_template'); return false;">Add match check</a></p>[% END %]
[% IF ( edit_matching_rule ) %]
[% FOREACH matchcheck IN matchchecks %]
<div id="mc_[% matchcheck.mc_num %]" class="matchgroup">
<fieldset class="rows">
<legend>Match check [% matchcheck.mc_num %]<a href="#" class="button" onclick="InsertMatchcheck('mc_[% matchcheck.mc_num %]', 'mc_template'); return false;">Add match check</a> | <a href="#" class="button" onclick="DeleteMatchcheck(this); return false;">Remove this match check</a></legend>
<input type="hidden" id="mc_[% matchcheck.mc_num %]_id" name="mc_[% matchcheck.mc_num %]_id" value="1" />
[% FOREACH src_component IN matchcheck.src_components %]
<fieldset class="rows" id="mc_[% src_component.mc_num %]_src_c_[% src_component.comp_num %]">
<legend>Source (incoming) record check field</legend>
<ol>
<li>
<label for="mc_[% src_component.mc_num %]_src_c_[% src_component.comp_num %]_tag">Tag: </label>
<input type="text" id="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_tag"
name="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_tag"
value="[% src_component.tag |html %]"
size="3" maxlength="3" />
</li>
<li>
<label for="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_subfields">Subfields: </label>
<input type="text" id="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_subfields"
name="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_subfields"
value="[% src_component.subfields |html %]"
size="10" maxlength="40" />
</li>
<li>
<label for="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_offset">Offset: </label>
<input type="text" id="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_offset"
name="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_offset"
value="[% src_component.offset |html %]"
size="5" maxlength="5" />
</li>
<li>
<label for="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_length">Length: </label>
<input type="text" id="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_length"
name="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_length"
value="[% src_component.length |html %]"
size="5" maxlength="5" />
</li>
[% FOREACH norm IN src_component.norms %]
<li id="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_n_[% norm.norm_num %]">
<label for="mc_[% matchcheck.mc_num %]_src_c_[% src_component.comp_num %]_n_[% norm.norm_num %]_norm">Normalization rule: </label>
[% PROCESS norms_select
selected_norm=norm.norm
id="mc_${matchcheck.mc_num}_src_c_${src_component.comp_num}_n_${norm.norm_num}_norm"
name="mc_${matchcheck.mc_num}_src_c_${src_component.comp_num}_n_${norm.norm_num}_norm"
%]
</li>
[% END %]
</ol>
</fieldset>
[% END %]
[% FOREACH tgt_component IN matchcheck.tgt_components %]
<fieldset class="rows" id="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]">
<legend>Target (database) record check field</legend>
<ol>
<li>
<label for="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_tag">Tag: </label>
<input type="text" id="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_tag"
name="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_tag"
value="[% tgt_component.tag |html %]"
size="3" maxlength="3" />
</li>
<li>
<label for="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_subfields">Subfields: </label>
<input type="text" id="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_subfields"
name="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_subfields"
value="[% tgt_component.subfields |html %]"
size="10" maxlength="40" />
</li>
<li>
<label for="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_offset">Offset: </label>
<input type="text" id="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_offset"
name="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_offset"
value="[% tgt_component.offset |html %]"
size="5" maxlength="5" />
</li>
<li>
<label for="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_length">Length: </label>
<input type="text" id="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_length"
name="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_length"
value="[% tgt_component.length |html %]"
size="5" maxlength="5" />
</li>
[% FOREACH norm IN tgt_component.norms %]
<li id="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_n_[% norm.norm_num %]">
<label for="mc_[% matchcheck.mc_num %]_tgt_c_[% tgt_component.comp_num %]_n_[% norm.norm_num %]_norm">Normalization rule: </label>
[% PROCESS norms_select
selected_norm=norm.norm
id="mc_${matchcheck.mc_num}_tgt_c_${tgt_component.comp_num}_n_${norm.norm_num}_norm"
name="mc_${matchcheck.mc_num}_tgt_c_${tgt_component.comp_num}_n_${norm.norm_num}_norm"
%]
</li>
[% END %]
</ol>
</fieldset>
[% END %]
</fieldset>
<br style="clear:both;" />
</div>
[% END %]
[% ELSE %]
<div id="mc_1" class="matchgroup">
<fieldset class="rows">
<legend>Match check 1 | <a href="#" class="button" onclick="InsertMatchcheck('mc_1', 'mc_template'); return false;">Add match check</a> | <a href="#" class="button" onclick="DeleteMatchcheck(this); return false;">Remove this match check</a></legend>
<input type="hidden" id="mc_1_id" name="mc_1_id" value="1" />
<fieldset class="rows" id="mc_1_src_c_1">
<legend>Source (incoming) record check field</legend>
<ol>
<li>
<label for="mc_1_src_c_1_tag">Tag: </label>
<input type="text" id="mc_1_src_c_1_tag" name="mc_1_src_c_1_tag" size="3" maxlength="3" />
</li>
<li>
<label for="mc_1_src_c_1_subfields">Subfields: </label>
<input type="text" id="mc_1_src_c_1_subfields" name="mc_1_src_c_1_subfields" size="10" maxlength="40" />
</li>
<li>
<label for="mc_1_src_c_1_offset">Offset: </label>
<input type="text" id="mc_1_src_c_1_offset" name="mc_1_src_c_1_offset" size="5" maxlength="5" />
</li>
<li>
<label for="mc_1_src_c_1_length">Length: </label>
<input type="text" id="mc_1_src_c_1_length" name="mc_1_src_c_1_length" size="5" maxlength="5" />
</li>
<li id="mc_1_src_c_1_n_1">
<label for="mc_1_src_c_1_n_1_norm">Normalization rule: </label>
[% PROCESS norms_select
selected_norm="none"
id="mc_1_src_c_1_n_1_norm"
name="mc_1_src_c_1_n_1_norm"
%]
</li>
</ol>
</fieldset>
<fieldset class="rows" id="mc_1_tgt_c_1">
<legend>Target (database) record check field</legend>
<ol>
<li>
<label for="mc_1_tgt_c_1_tag">Tag: </label>
<input type="text" id="mc_1_tgt_c_1_tag" name="mc_1_tgt_c_1_tag" size="3" maxlength="3" />
</li>
<li>
<label for="mc_1_tgt_c_1_subfields">Subfields: </label>
<input type="text" id="mc_1_tgt_c_1_subfields" name="mc_1_tgt_c_1_subfields" size="10" maxlength="40" />
</li>
<li>
<label for="mc_1_tgt_c_1_offset">Offset: </label>
<input type="text" id="mc_1_tgt_c_1_offset" name="mc_1_tgt_c_1_offset" size="5" maxlength="5" />
</li>
<li>
<label for="mc_1_tgt_c_1_length">Length: </label>
<input type="text" id="mc_1_tgt_c_1_length" name="mc_1_tgt_c_1_length" size="5" maxlength="5" />
</li>
<li id="mc_1_tgt_c_1_n_1">
<label for="mc_1_tgt_c_1_n_1_norm">Normalization rule: </label>
[% PROCESS norms_select
selected_norm="none"
id="mc_1_tgt_c_1_n_1_norm"
name="mc_1_tgt_c_1_n_1_norm"
%]
</li>
</ol>
</fieldset>
</fieldset>
<br style="clear:both;" />
</div>
[% END %]
</fieldset>
<fieldset class="action">
[% IF ( edit_matching_rule ) %]
<input type="button" value="Save"
onclick="CheckMatchingRuleForm(this.form)" />
[% ELSE %]
<input type="button" value="Save"
onclick="CheckMatchingRuleForm(this.form)" />
[% END %]
<a class="cancel" href="/cgi-bin/koha/admin/matching-rules.pl">Cancel</a>
</fieldset>
</form>
[% END %]
[% IF ( delete_matching_rule_form ) %]
<div class="dialog alert">
<h3>Confirm deletion of record matching rule <span class="ex">'[% code %]' ([% description %])</span>?</h3>
<form action="[% script_name %]" name="Aform" method="post">
<input type="hidden" name="op" value="[% confirm_op %]" />
<input type="hidden" name="matcher_id" value="[% matcher_id %]" />
<button type="submit" class="approve"><i class="fa fa-fw fa-check"></i> Yes, delete record matching rule</button>
</form>
<form action="[% script_name %]" method="get">
<button type="submit" class="deny"><i class="fa fa-fw fa-remove"></i> No, do not delete</button>
</form>
</div>
[% END %]
[% IF ( display_list ) %]
<div id="toolbar" class="btn-toolbar">
<a class="btn btn-default btn-sm" id="newrule" href="[% script_name %]?op=add_matching_rule"><i class="fa fa-plus"></i> New record matching rule</a>
</div>
<h2>Record matching rules</h2>
[% IF ( added_matching_rule ) %]
<div class="dialog message">Added record matching rule &quot;[% added_matching_rule %]&quot;</div>
[% END %]
[% IF ( edited_matching_rule ) %]
<div class="dialog message">Modified record matching rule &quot;[% edited_matching_rule %]&quot;</div>
[% END %]
[% IF ( deleted_matching_rule ) %]
<div class="dialog message">Deleted record matching rule &quot;[% deleted_matching_rule %]&quot;</div>
[% END %]
[% IF ( available_matching_rules ) %]<table>
<tr>
<th>#</th>
<th>Code</th>
<th>Description</th>
<th>Actions</th>
</tr>
[% FOREACH available_matching_rule IN available_matching_rules %]
<tr>
<td>[% available_matching_rule.matcher_id %]</td>
<td>[% available_matching_rule.code %]</td>
<td>[% available_matching_rule.description %]</td>
<td class="actions">
<a class="btn btn-default btn-xs" href="[% available_matching_rule.script_name %]?op=edit_matching_rule&amp;matcher_id=[% available_matching_rule.matcher_id |html %]"><i class="fa fa-pencil"></i> Edit</a>
<a class="btn btn-default btn-xs" href="[% available_matching_rule.script_name %]?op=delete_matching_rule&amp;matcher_id=[% available_matching_rule.matcher_id |html %]"><i class="fa fa-trash"></i> Delete</a>
</td>
</tr>
[% END %]
</table>[% ELSE %]<p>There are no saved matching rules.</p>[% END %]
<div class="pages">[% pagination_bar %]</div>
[% END %]
[% IF ( matching_rule_form ) %]
<div id="mp_template" class="matchgroup" style="display:none;">
<fieldset class="rows">
<legend>Match point <span class="counter"></span> | <a href="#" class="button" onclick="DeleteMatchpoint(this); return false;">Remove this match point</a></legend>
<ol>
<li>
<label for="mp_num_search_index">Search index: </label>
<input type ="text" id="mp_num_search_index" name="mp_num_search_index" size="20"
maxlength="30" />
</li>
<li>
<label for="mp_num_score">Score: </label>
<input type ="text" id="mp_num_score" name="mp_num_score" size="5" maxlength="5" />
</li>
</ol>
<fieldset id="mp_num_c_1" class="rows">
<legend>Matchpoint components</legend>
<ol>
<li>
<label for="mp_num_c_1_tag">Tag: </label>
<input type="text" id="mp_num_c_1_tag" name="mp_num_c_1_tag" size="3" maxlength="3" />
</li>
<li>
<label for="mp_num_c_1_subfields">Subfields: </label>
<input type="text" id="mp_num_c_1_subfields" name="mp_num_c_1_subfields" size="10" maxlength="40" />
</li>
<li>
<label for="mp_num_c_1_offset">Offset: </label>
<input type="text" id="mp_num_c_1_offset" name="mp_num_c_1_offset" size="5" maxlength="5" />
</li>
<li>
<label for="mp_num_c_1_length">Length: </label>
<input type="text" id="mp_num_c_1_length" name="mp_num_c_1_length" size="5" maxlength="5" />
</li>
<li id="mp_num_c_1_n_1">
<label for="mp_num_c_1_n_1_norm">Normalization rule: </label>
[% PROCESS norms_select
selected_norm="none"
id="mp_num_c_1_n_1_norm"
name="mp_num_c_1_n_1_norm"
%]
</li>
</ol>
</fieldset>
</fieldset>
<br style="clear:both;" />
</div>
<div id="mc_template" class="matchgroup" style="display:none">
<fieldset class="rows">
<legend>Match check <span class="counter"></span> | <a href="#" class="button" onclick="DeleteMatchcheck(this); return false;">Remove this match check</a></legend>
<input type="hidden" id="mc_num_id" name="mc_num_id" value="1" />
<fieldset class="rows" id="mc_num_src_c_1">
<legend>Source (incoming) record check field</legend>
<ol>
<li>
<label for="mc_num_src_c_1_tag">Tag: </label>
<input type="text" id="mc_num_src_c_1_tag" name="mc_num_src_c_1_tag" size="3" maxlength="3" />
</li>
<li>
<label for="mc_num_src_c_1_subfields">Subfields: </label>
<input type="text" id="mc_num_src_c_1_subfields" name="mc_num_src_c_1_subfields" size="10" maxlength="40" />
</li>
<li>
<label for="mc_num_src_c_1_offset">Offset: </label>
<input type="text" id="mc_num_src_c_1_offset" name="mc_num_src_c_1_offset" size="5" maxlength="5" />
</li>
<li>
<label for="mc_num_src_c_1_length">Length: </label>
<input type="text" id="mc_num_src_c_1_length" name="mc_num_src_c_1_length" size="5" maxlength="5" />
</li>
<li id="mc_num_src_c_1_n_1">
<label for="mc_num_src_c_1_n_1_norm">Normalization rule: </label>
[% PROCESS norms_select
selected_norm="none"
id="mc_num_src_c_1_n_1_norm"
name="mc_num_src_c_1_n_1_norm"
%]
</li>
</ol>
</fieldset>
<fieldset class="rows" id="mc_num_tgt_c_1">
<legend>Target (database) record check field</legend>
<ol>
<li>
<label for="mc_num_tgt_c_1_tag">Tag: </label>
<input type="text" id="mc_num_tgt_c_1_tag" name="mc_num_tgt_c_1_tag" size="3" maxlength="3" />
</li>
<li>
<label for="mc_num_tgt_c_1_subfields">Subfields: </label>
<input type="text" id="mc_num_tgt_c_1_subfields" name="mc_num_tgt_c_1_subfields" size="10" maxlength="40" />
</li>
<li>
<label for="mc_num_tgt_c_1_offset">Offset: </label>
<input type="text" id="mc_num_tgt_c_1_offset" name="mc_num_tgt_c_1_offset" size="5" maxlength="5" />
</li>
<li>
<label for="mc_num_tgt_c_1_length">Length: </label>
<input type="text" id="mc_num_tgt_c_1_length" name="mc_num_tgt_c_1_length" size="5" maxlength="5" />
</li>
<li id="mc_num_tgt_c_1_n_1">
<label for="mc_num_tgt_c_1_n_1_norm">Normalization rule: </label>
[% PROCESS norms_select
selected_norm="none"
id="mc_num_tgt_c_1_n_1_norm"
name="mc_num_tgt_c_1_n_1_norm"
%]
</li>
</ol>
</fieldset>
</fieldset>
<br style="clear:both;" />
</div>
[% END %]
</div>
</div>
<div class="yui-b">
[% INCLUDE 'admin-menu.inc' %]
</div>
</div>
[% INCLUDE 'intranet-bottom.inc' %]