Koha/koha-tmpl/intranet-tmpl/prog/en/modules/admin/matching-rules.tt
Kyle M Hall a8942c2884 Revert bug 13618 - "Prevent XSS in the Staff Client and the OPAC" due to performance issues
Revert "DBRev to make notes of the XSS patches and the new important dependency."

This reverts commit e140603a59.

Revert "Bug 13618: Specific for branches.opac_info"

This reverts commit 06e4a50f00.

Revert "Bug 13618: (follow-up) Specific for other prefs"

This reverts commit d6475a111f.

Revert "Bug 13618: Fix for debarredcomment and patron messages"

This reverts commit dd98c9df92.

Revert "Bug 13618: Do not display html tags in patron's notices"

This reverts commit a065b243fe.

Revert "Bug 13618: Do not display   and html tags in item fields content"

This reverts commit baeeaffbf8.

Revert "Bug 13618: Fix for system preference description"

This reverts commit a967a09261.

Revert "Bug 13618: Remove html filters for newly pushed code"

This reverts commit 0e98662b10.

Revert "Bug 13618: (follow-up) add missing lines for opac-shelves"

This reverts commit fc2fb605e5.

Revert "Bug 13618: (follow-up) Specific for ColumnsSettings"

This reverts commit bc308fdd9c.

Revert "Bug 13618: Fix for edit biblios and items"

This reverts commit 811c4e8402.

Revert "Bug 13618: followup to remove tabs"

This reverts commit ca8e8c397c.

Revert "Bug 13618: Fix last occurrences recently introduced to master"

This reverts commit bb417b256b.

Revert "Bug 13618: Fix for news"

This reverts commit ae5b98020a.

Revert "Bug 13618: Fix escape on sending baskets or shelves by email"

This reverts commit a7731ffe25.

Revert "Bug 13618: Specific for XSLTBloc"

This reverts commit 11fa38dc29.

Revert "Bug 13618: Specific for Salutation on editing a patron"

This reverts commit 36c07ad6d3.

Revert "Bug 13618: Specific for other prefs"

This reverts commit e6ea281a3b.

Revert "Bug 13618 - memberentrygen.tt errors Not a GLOB reference"

This reverts commit 7824874557.

Revert "Bug 13618: Specific for ColumnsSettings"

This reverts commit 1834da3da3.

Revert "Bug 13618: Specific for IntranetUser* and OPACUser* prefs"

This reverts commit 21ae62b253.

Revert "Bug 13618: Fix error 'Not a GLOB reference'"

This reverts commit 602bdbab4c.

Revert "Bug 13618: Specific for the ISBD view"

This reverts commit d254362435.

Revert "Bug 13618: Specific for pagination_bar"

This reverts commit 8837a8ae68.

Revert "Bug 13618: Specific places where we don't need to escape variables - intra"

This reverts commit 00eff140b3.

Revert "Bug 13618: Remove html filters at the intranet"

This reverts commit 7db851ff03.

Revert "Bug 13618: Specific places where we don't need to escape variables"

This reverts commit 49a3738b8d.

Revert "Bug 13618: Remove html filters at the OPAC"

This reverts commit cedaa0e23e.

Revert "Bug 13618: Use Template::Stash::AutoEscaping to use the html filter"

This reverts commit 01b38d3b13.

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>

Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
2016-02-11 19:39:53 +00:00

693 lines
30 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' %]
<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 'cat-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>
<input type="text" 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"
value="[% norm.norm |html %]"
size="20" maxlength="50" />
</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>
<input type="text" id="mp_1_c_1_n_1_norm" name="mp_1_c_1_n_1_norm" size="20" maxlength="50" />
</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 %]
<fieldset class="rows" id="mc_[% matchcheck.mc_num %]">
<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>
<input type="text" 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"
value="[% norm.norm |html %]"
size="20" maxlength="50" />
</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>
<input type="text" 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"
value="[% norm.norm |html %]"
size="20" maxlength="50" />
</li>
[% END %]
</ol>
</fieldset>
[% END %]
</fieldset>
[% 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>
<input type="text" id="mc_1_src_c_1_n_1_norm" name="mc_1_src_c_1_n_1_norm" size="20" maxlength="50" />
</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>
<input type="text" id="mc_1_tgt_c_1_n_1_norm" name="mc_1_tgt_c_1_n_1_norm" size="20" maxlength="50" />
</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 %]" />
<input type="submit" value="Delete record matching rule" class="approve" /></form>
<form action="[% script_name %]" method="get">
<input type="submit" value="No, do not delete" class="deny" />
</form></div>
[% END %]
[% IF ( display_list ) %]
<div id="toolbar" class="btn-toolbar">
<a class="btn btn-small" 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>
<a href="[% available_matching_rule.script_name %]?op=edit_matching_rule&amp;matcher_id=[% available_matching_rule.matcher_id |html %]">Edit</a>
<a href="[% available_matching_rule.script_name %]?op=delete_matching_rule&amp;matcher_id=[% available_matching_rule.matcher_id |html %]">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>
<input type="text" id="mp_num_c_1_n_1_norm" name="mp_num_c_1_n_1_norm" size="20" maxlength="50" />
</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>
<input type="text" id="mc_num_src_c_1_n_1_norm" name="mc_num_src_c_1_n_1_norm" size="20" maxlength="50" />
</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>
<input type="text" id="mc_num_tgt_c_1_n_1_norm" name="mc_num_tgt_c_1_n_1_norm" size="20" maxlength="50" />
</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' %]