Koha/koha-tmpl/intranet-tmpl/prog/en/modules/admin/matching-rules.tt
Wainui Witika-Park 001095eae5 Bug 26703: admin folder
Swapped the order of the page titles to have the unique information
first, i.e. the name of the specific page displays first, and the name of the website (e.g. Koha) displays at the end.

To test:
1) Apply patch
2) Ensure each of the files in the admin folder are swapped around to display the most unique information first, and the website name is at the end
3) Ensure the pages displayed on the Staff Client that correspond to these files also display the changes

Sponsored-by: Catalyst IT
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Henry Bolshaw <bolshawh@parliament.uk>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
2021-04-21 11:16:33 +02:00

742 lines
50 KiB
Text

[% USE raw %]
[% USE Asset %]
[% SET footerjs = 1 %]
[% INCLUDE 'doc-head-open.inc' %]
<title>
[% IF ( matching_rule_form ) %]
[% IF ( edit_matching_rule ) %]
Modify record matching rule &rsaquo; [% ELSE %]
Add record matching rule &rsaquo; [% END %]
[% END %]
[% IF ( delete_matching_rule_form ) %]
Confirm deletion of record matching rule &quot;[% code | html %]&quot; &rsaquo; [% END %]
Record matching rules &rsaquo; Administration &rsaquo; Koha
</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 'ISBN' %]ISBN
[% CASE %][% norm | html %]
[% END %]
[% END %]
[% BLOCK norms_options %]
[%# PARAMS: selected_norm %]
[% FOREACH norm IN valid_norms %]
[% IF ( norm == selected_norm ) %]
<option value="[% norm | html %]" selected="selected">[% PROCESS norms_text norm=norm %]</option>
[% ELSE %]
<option value="[% norm | html %]">[% 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 | html %]" name="[% name | html %]">
[% PROCESS norms_options selected_norm=selected_norm %]
</select>
[% END %]
<style>
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' %]
<nav id="breadcrumbs" aria-label="Breadcrumb" class="breadcrumb">
<ol>
<li>
<a href="/cgi-bin/koha/mainpage.pl">Home</a>
</li>
<li>
<a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a>
</li>
[% IF ( matching_rule_form ) %]
<li>
<a href="/cgi-bin/koha/admin/matching-rules.pl">Record matching rules</a>
</li>
<li>
<a href="#" aria-current="page">
[% IF ( edit_matching_rule ) %]
Modify record matching rule
[% ELSE %]
Add record matching rule
[% END %]
</a>
</li>
[% ELSIF ( delete_matching_rule_form ) %]
<li>
<a href="/cgi-bin/koha/admin/matching-rules.pl">Record matching rules</a>
</li>
<li>
<a href="#" aria-current="page">
Confirm deletion of record matching rule &quot;[% code | html %]&quot;
</a>
</li>
[% ELSE %]
<li>
<a href="#" aria-current="page">
Record matching rules
</a>
</li>
[% END %]
</ol>
</nav> <!-- /#breadcrumbs -->
<div class="main container-fluid">
<div class="row">
<div class="col-sm-10 col-sm-push-2">
<main>
[% 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 | html %]" name="Aform" method="post">
<input type="hidden" name="op" value="[% confirm_op | html %]" />
<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 | html %]" />
<input type="hidden" name="code" value="[% code | html %]" />
[% code | html %]
[% 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> <!-- /.rows -->
<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 | html %]" class="matchgroup">
<fieldset class="rows">
<legend>Match point [% matchpoint.mp_num | html %] | <a href="#" class="button" onclick="InsertMatchpoint('mp_[% matchpoint.mp_num | html %]', '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 | html %]_search_index">Search index: </label>
<input type ="text" id="mp_[% matchpoint.mp_num | html %]_search_index" name="mp_[% matchpoint.mp_num | html %]_search_index" size="20" value="[% matchpoint.index | html %]" maxlength="30" />
</li>
<li>
<label for="mp_[% matchpoint.mp_num | html %]_score">Score: </label>
<input type ="text" id="mp_[% matchpoint.mp_num | html %]_score" name="mp_[% matchpoint.mp_num | html %]_score" size="5" value="[% matchpoint.score | html %]" maxlength="5" />
</li>
</ol>
[% FOREACH component IN matchpoint.components %]
<fieldset class="rows" id="mp_[% matchpoint.mp_num | html %]_c_[% component.comp_num | html %]">
<legend>Matchpoint components</legend>
<ol>
<li>
<label for="mp_[% matchpoint.mp_num | html %]_c_[% component.comp_num | html %]_tag">Tag: </label>
<input type="text" id="mp_[% matchpoint.mp_num | html %]_c_[% component.comp_num | html %]_tag" name="mp_[% matchpoint.mp_num | html %]_c_[% component.comp_num | html %]_tag" value="[% component.tag | html %]" size="3" maxlength="3" />
</li>
<li>
<label for="mp_[% matchpoint.mp_num | html %]_c_[% component.comp_num | html %]_subfields">Subfields: </label>
<input type="text" id="mp_[% matchpoint.mp_num | html %]_c_[% component.comp_num | html %]_subfields" name="mp_[% matchpoint.mp_num | html %]_c_[% component.comp_num | html %]_subfields" value="[% component.subfields | html %]"
size="10" maxlength="40" />
</li>
<li>
<label for="mp_[% matchpoint.mp_num | html %]_c_[% component.comp_num | html %]_offset">Offset: </label>
<input type="text" id="mp_[% matchpoint.mp_num | html %]_c_[% component.comp_num | html %]_offset" name="mp_[% matchpoint.mp_num | html %]_c_[% component.comp_num | html %]_offset" value="[% component.offset | html %]"
size="5" maxlength="5" />
</li>
<li>
<label for="mp_[% matchpoint.mp_num | html %]_c_[% component.comp_num | html %]_length">Length: </label>
<input type="text" id="mp_[% matchpoint.mp_num | html %]_c_[% component.comp_num | html %]_length" name="mp_[% matchpoint.mp_num | html %]_c_[% component.comp_num | html %]_length" value="[% component.length | html %]"
size="5" maxlength="5" />
</li>
[% FOREACH norm IN component.norms %]
<li id="mp_[% matchpoint.mp_num | html %]_c_[% component.comp_num | html %]_n_[% norm.norm_num | html %]">
<label for="mp_[% matchpoint.mp_num | html %]_c_[% component.comp_num | html %]_n__[% norm.norm_num | html %]_norm">Normalization rule: </label>
[%# Note: Following directive in one line, otherwise we have translatabiltiy problems %]
[% 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> <!-- /#mp_[% matchpoint.mp_num | html %]_c_[% component.comp_num | html %] -->
[% END #/FOREACH component %]
</fieldset> <!-- /.rows -->
<br style="clear:both;" />
</div> <!-- /#mp_[% matchpoint.mp_num | html %] -->
[% END # /FOREACH matchpoint %]
[% ELSE # IF ( edit_matching_rule ) %]
<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> <!-- /#mp_1_c_1 -->
</fieldset> <!-- /.rows -->
<br style="clear:both;" />
</div> <!-- /#mp_1 -->
[% END # /IF ( edit_matching_rule ) %]
</fieldset> <!-- /#match_points -->
<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 | html %]" class="matchgroup">
<fieldset class="rows">
<legend>Match check [% matchcheck.mc_num | html %]<a href="#" class="button" onclick="InsertMatchcheck('mc_[% matchcheck.mc_num | html %]', '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 | html %]_id" name="mc_[% matchcheck.mc_num | html %]_id" value="1" />
[% FOREACH src_component IN matchcheck.src_components %]
<fieldset class="rows" id="mc_[% src_component.mc_num | html %]_src_c_[% src_component.comp_num | html %]">
<legend>Source (incoming) record check field</legend>
<ol>
<li>
<label for="mc_[% src_component.mc_num | html %]_src_c_[% src_component.comp_num | html %]_tag">Tag: </label>
<input type="text" id="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_tag" name="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_tag" value="[% src_component.tag | html %]" size="3" maxlength="3" />
</li>
<li>
<label for="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_subfields">Subfields: </label>
<input type="text" id="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_subfields" name="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_subfields" value="[% src_component.subfields | html %]" size="10" maxlength="40" />
</li>
<li>
<label for="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_offset">Offset: </label>
<input type="text" id="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_offset" name="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_offset" value="[% src_component.offset | html %]" size="5" maxlength="5" />
</li>
<li>
<label for="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_length">Length: </label>
<input type="text" id="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_length" name="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_length" value="[% src_component.length | html %]" size="5" maxlength="5" />
</li>
[% FOREACH norm IN src_component.norms %]
<li id="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_n_[% norm.norm_num | html %]">
<label for="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_n_[% norm.norm_num | html %]_norm">Normalization rule: </label>
[%# Note: Following directive in one line, otherwise we have translatabiltiy problems %]
[% 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> <!-- /#mc_[% src_component.mc_num | html %]_src_c_[% src_component.comp_num | html %] -->
[% END # /FOREACH src_component %]
[% FOREACH tgt_component IN matchcheck.tgt_components %]
<fieldset class="rows" id="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]">
<legend>Target (database) record check field</legend>
<ol>
<li>
<label for="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_tag">Tag: </label>
<input type="text" id="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_tag" name="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_tag" value="[% tgt_component.tag | html %]" size="3" maxlength="3" />
</li>
<li>
<label for="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_subfields">Subfields: </label>
<input type="text" id="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_subfields" name="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_subfields" value="[% tgt_component.subfields | html %]" size="10" maxlength="40" />
</li>
<li>
<label for="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_offset">Offset: </label>
<input type="text" id="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_offset" name="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_offset" value="[% tgt_component.offset | html %]" size="5" maxlength="5" />
</li>
<li>
<label for="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_length">Length: </label>
<input type="text" id="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_length" name="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_length" value="[% tgt_component.length | html %]" size="5" maxlength="5" />
</li>
[% FOREACH norm IN tgt_component.norms %]
<li id="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_n_[% norm.norm_num | html %]">
<label for="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_n_[% norm.norm_num | html %]_norm">Normalization rule: </label>
[%# Note: Following directive in one line, otherwise we have translatabiltiy problems %]
[% 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> <!-- /#mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %] -->
[% END # /FOREACH tgt_component %]
</fieldset> <!-- /.rows -->
<br style="clear:both;" />
</div> <!-- /#mc_[% matchcheck.mc_num | html %] -->
[% END # /FOREACH matchcheck %]
[% ELSE # IF ( edit_matching_rule ) %]
<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> <!-- /#mc_1_tgt_c_1 -->
</fieldset> <!-- /.rows -->
<br style="clear:both;" />
</div> <!-- /#mc_1 -->
[% END # /IF ( edit_matching_rule ) %]
</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> <!-- /.action -->
</form>
[% END # /IF ( matching_rule_form ) %]
[% IF ( delete_matching_rule_form ) %]
<div class="dialog alert">
<h3>Confirm deletion of record matching rule <span class="ex">'[% code | html %]' ([% description | html %])</span>?</h3>
<form action="[% script_name | html %]" name="Aform" method="post">
<input type="hidden" name="op" value="[% confirm_op | html %]" />
<input type="hidden" name="matcher_id" value="[% matcher_id | html %]" />
<button type="submit" class="approve"><i class="fa fa-fw fa-check"></i> Yes, delete record matching rule</button>
</form>
<form action="[% script_name | html %]" method="get">
<button type="submit" class="deny"><i class="fa fa-fw fa-remove"></i> No, do not delete</button>
</form>
</div>
[% END # /IF ( delete_matching_rule_form ) %]
[% IF ( display_list ) %]
<div id="toolbar" class="btn-toolbar">
<a class="btn btn-default" id="newrule" href="[% script_name | url %]?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 | html %]&quot;</div>
[% END %]
[% IF ( edited_matching_rule ) %]
<div class="dialog message">Modified record matching rule &quot;[% edited_matching_rule | html %]&quot;</div>
[% END %]
[% IF ( deleted_matching_rule ) %]
<div class="dialog message">Deleted record matching rule &quot;[% deleted_matching_rule | html %]&quot;</div>
[% END %]
[% IF ( available_matching_rules ) %]
<table>
<tr>
<th>#</th>
<th>Code</th>
<th>Description</th>
<th class="noExport">Actions</th>
</tr>
[% FOREACH available_matching_rule IN available_matching_rules %]
<tr>
<td>[% available_matching_rule.matcher_id | html %]</td>
<td>[% available_matching_rule.code | html %]</td>
<td>[% available_matching_rule.description | html %]</td>
<td class="actions">
<a class="btn btn-default btn-xs" href="[% available_matching_rule.script_name | url %]?op=edit_matching_rule&amp;matcher_id=[% available_matching_rule.matcher_id | uri %]"><i class="fa fa-pencil"></i> Edit</a>
<a class="btn btn-default btn-xs" href="[% available_matching_rule.script_name | url %]?op=delete_matching_rule&amp;matcher_id=[% available_matching_rule.matcher_id | uri %]"><i class="fa fa-trash"></i> Delete</a>
</td>
</tr>
[% END %]
</table>
[% ELSE %]
<p>There are no saved matching rules.</p>
[% END # /IF ( available_matching_rules ) %]
<div class="pages">[% pagination_bar | $raw %]</div>
[% END # /IF ( display_list ) %]
[% 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> <!-- /#mp_num_c_1 -->
</fieldset> <!-- /.rows -->
<br style="clear:both;" />
</div> <!-- /#mp_template -->
<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> <!-- /#mc_num_src_c_1 -->
<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> <!-- #mc_num_tgt_c_1 -->
</fieldset> <!-- /.rows -->
<br style="clear:both;" />
</div> <!-- /#mc_template -->
[% END # /IF ( matching_rule_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>
var maxMatchPoint = [% max_matchpoint | html %];
var maxMatchCheck = [% max_matchcheck | html %];
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>
[% END %]
[% INCLUDE 'intranet-bottom.inc' %]