View | Details | Raw Unified | Return to bug 15536
Collapse All | Expand All

(-)a/admin/matching-rules.pl (-31 / +15 lines)
Lines 128-170 sub add_update_matching_rule { Link Here
128
    # match checks
128
    # match checks
129
    my @mc_nums = sort map { /^mc_(\d+)_id/ ? int($1): () } $input->multi_param;
129
    my @mc_nums = sort map { /^mc_(\d+)_id/ ? int($1): () } $input->multi_param;
130
    foreach my $mc_num (@mc_nums) {
130
    foreach my $mc_num (@mc_nums) {
131
        # source components
132
        my $src_components = [];
131
        my $src_components = [];
133
        my @src_comp_nums = sort map { /^mc_${mc_num}_src_c_(\d+)_tag/ ? int($1): () } $input->multi_param;
134
        foreach my $comp_num (@src_comp_nums) {
135
            my $component = {};
136
            $component->{'tag'} = $input->param("mc_${mc_num}_src_c_${comp_num}_tag");
137
            $component->{'subfields'} = $input->param("mc_${mc_num}_src_c_${comp_num}_subfields");
138
            $component->{'offset'} = $input->param("mc_${mc_num}_src_c_${comp_num}_offset");
139
            $component->{'length'} = $input->param("mc_${mc_num}_src_c_${comp_num}_length");
140
            # norms
141
            $component->{'norms'} = [];
142
            my @norm_nums = sort map { /^mc_${mc_num}_src_c_${comp_num}_n_(\d+)_norm/ ? int($1): () } $input->multi_param;
143
            foreach my $norm_num (@norm_nums) {
144
                push @{ $component->{'norms'} }, $input->multi_param("mc_${mc_num}_src_c_${comp_num}_n_${norm_num}_norm");
145
            }
146
            push @$src_components, $component;
147
        }
148
        # target components
149
        my $tgt_components = [];
132
        my $tgt_components = [];
150
        my @tgt_comp_nums = sort map { /^mc_${mc_num}_tgt_c_(\d+)_tag/ ? int($1): () } $input->multi_param;
133
        foreach my $w (['src', $src_components], ['tgt', $tgt_components]) {
151
        foreach my $comp_num (@tgt_comp_nums) {
134
            my ($which, $components) = @$w;
152
            my $component = {};
135
            my @comp_nums = sort map { /^mc_${mc_num}_${which}_c_(\d+)_tag/ ? int($1): () } $input->multi_param;
153
            $component->{'tag'} = $input->param("mc_${mc_num}_tgt_c_${comp_num}_tag");
136
            foreach my $comp_num (@comp_nums) {
154
            $component->{'subfields'} = $input->param("mc_${mc_num}_tgt_c_${comp_num}_subfields");
137
                my $component = {};
155
            $component->{'offset'} = $input->param("mc_${mc_num}_tgt_c_${comp_num}_offset");
138
                my $p = "mc_${mc_num}_${which}_c_${comp_num}_";
156
            $component->{'length'} = $input->param("mc_${mc_num}_tgt_c_${comp_num}_length");
139
                map { $component->{$_} = $input->param("${p}$_") } qw(tag subfields offset length);
157
            # norms
140
                # norms
158
            $component->{'norms'} = [];
141
                $component->{'norms'} = [];
159
            my @norm_nums = sort map { /^mc_${mc_num}_tgt_c_${comp_num}_n_(\d+)_norm/ ? int($1): () } $input->multi_param;
142
                my @norm_nums = sort map { /^${p}n_(\d+)_norm/ ? int($1): () } $input->multi_param;
160
            foreach my $norm_num (@norm_nums) {
143
                foreach my $norm_num (@norm_nums) {
161
                push @{ $component->{'norms'} }, $input->multi_param("mc_${mc_num}_tgt_c_${comp_num}_n_${norm_num}_norm");
144
                    push @{ $component->{'norms'} }, $input->multi_param("${p}n_${norm_num}_norm");
145
                }
146
                push @$components, $component;
162
            }
147
            }
163
            push @$tgt_components, $component;
164
        }
148
        }
165
        $matcher->add_required_check($src_components, $tgt_components);
149
        $matcher->add_required_check($src_components, $tgt_components);
166
    }
150
    }
167
    
151
168
    if (defined $matcher_id and $matcher_id =~ /^\d+/) {
152
    if (defined $matcher_id and $matcher_id =~ /^\d+/) {
169
        $matcher->_id($matcher_id);
153
        $matcher->_id($matcher_id);
170
        $template->param(edited_matching_rule => $matcher->code());
154
        $template->param(edited_matching_rule => $matcher->code());
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/matching-rules.tt (-163 / +60 lines)
Lines 54-59 Link Here
54
    </select>
54
    </select>
55
[% END %]
55
[% END %]
56
56
57
[% BLOCK match_check_component %]
58
    [%# PARAMS mc_num, which, components %]
59
    [% IF (!components) %]
60
        [% SET components = [
61
            {
62
                comp_num => 1, norms => [
63
                    {
64
                        norm_num => 1,
65
                        norm = "none"
66
                    }
67
                ],
68
                tag => '',
69
                subfields => '',
70
                offset => '',
71
                length => ''
72
            }
73
         ] %]
74
    [% END %]
75
    [% FOREACH component IN components %]
76
        [% SET pc = "mc_${mc_num}_${which}_c_${component.comp_num}" %]
77
        <fieldset class="rows" id="[% pc | html %]">
78
            [% IF (which == 'src') %]
79
            <legend>Source (incoming) record check field</legend>
80
            [% ELSE %]
81
            <legend>Target (database) record check field</legend>
82
            [% END %]
83
            <ol>
84
                <li>
85
                    <label for="[% pc | html %]_tag">Tag: </label>
86
                    <input type="text" id="[% pc | html %]_tag" name="[% pc | html %]_tag" value="[% component.tag | html %]" size="3" maxlength="3" />
87
                </li>
88
                <li>
89
                    <label for="[$ pc | html %]_subfields">Subfields: </label>
90
                    <input type="text" id="[% pc | html %]_subfields" name="[% pc | html %]_subfields" value="[% component.subfields | html %]" size="10" maxlength="40" />
91
                </li>
92
                <li>
93
                    <label for="[% pc | html %]_offset">Offset: </label>
94
                    <input type="text" id="[% pc | html %]_offset" name="[% pc | html %]_offset" value="[% component.offset | html %]" size="5" maxlength="5" />
95
                </li>
96
                <li>
97
                    <label for="[% pc | html %]_length">Length: </label>
98
                    <input type="text" id="[% pc | html %]_length" name="[% pc | html %]_length" value="[% component.length | html %]" size="5" maxlength="5" />
99
                </li>
100
                [% FOREACH norm IN component.norms %]
101
                    <li id="[% pc | html %]_n_[% norm.norm_num | html %]">
102
                        <label for="[% pc | html %]_n_[% norm.norm_num | html %]_norm">Normalization rule: </label>
103
                        [% PROCESS norms_select selected_norm=norm.norm id="${pc}_n_${norm.norm_num}_norm" name="${pc}_n_${norm.norm_num}_norm" %]
104
                    </li>
105
                [% END %]
106
            </ol>
107
        </fieldset> <!-- /#[% pc %] -->
108
    [% END #/FOREACH component %]
109
[% END %]
110
57
<style>
111
<style>
58
    fieldset.rows fieldset.rows { border-width : 0; }
112
    fieldset.rows fieldset.rows { border-width : 0; }
59
    fieldset.rows fieldset.rows fieldset.rows { border-width : 1px; }
113
    fieldset.rows fieldset.rows fieldset.rows { border-width : 1px; }
Lines 287-353 Link Here
287
                                            <legend>Match check [% matchcheck.mc_num | html %]</legend>
341
                                            <legend>Match check [% matchcheck.mc_num | html %]</legend>
288
                                            <p><a href="#" class="btn btn-link" onclick="InsertMatchcheck('mc_[% matchcheck.mc_num | html %]', 'mc_template'); return false;"><i class="fa fa-plus" aria-hidden="true"></i> New match check</a> | <a href="#" class="btn btn-link" onclick="DeleteMatchcheck(this); return false;"><i class="fa fa-trash-can" aria-hidden="true"></i> Remove this match check</a></p>
342
                                            <p><a href="#" class="btn btn-link" onclick="InsertMatchcheck('mc_[% matchcheck.mc_num | html %]', 'mc_template'); return false;"><i class="fa fa-plus" aria-hidden="true"></i> New match check</a> | <a href="#" class="btn btn-link" onclick="DeleteMatchcheck(this); return false;"><i class="fa fa-trash-can" aria-hidden="true"></i> Remove this match check</a></p>
289
                                            <input type="hidden" id="mc_[% matchcheck.mc_num | html %]_id" name="mc_[% matchcheck.mc_num | html %]_id" value="1" />
343
                                            <input type="hidden" id="mc_[% matchcheck.mc_num | html %]_id" name="mc_[% matchcheck.mc_num | html %]_id" value="1" />
290
                                            [% FOREACH src_component IN matchcheck.src_components %]
344
                                            [% PROCESS match_check_component mc_num=matchcheck.mc_num which="src" components=matchcheck.src_components %]
291
                                                <fieldset class="rows" id="mc_[% src_component.mc_num | html %]_src_c_[% src_component.comp_num | html %]">
345
                                            [% PROCESS match_check_component mc_num=matchcheck.mc_num which="tgt" components=matchcheck.tgt_components %]
292
                                                    <legend>Source (incoming) record check field</legend>
293
                                                    <ol>
294
                                                        <li>
295
                                                            <label for="mc_[% src_component.mc_num | html %]_src_c_[% src_component.comp_num | html %]_tag">Tag: </label>
296
                                                            <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" />
297
                                                        </li>
298
                                                        <li>
299
                                                            <label for="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_subfields">Subfields: </label>
300
                                                            <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" />
301
                                                        </li>
302
                                                        <li>
303
                                                            <label for="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_offset">Offset: </label>
304
                                                            <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" />
305
                                                        </li>
306
                                                        <li>
307
                                                            <label for="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_length">Length: </label>
308
                                                            <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" />
309
                                                        </li>
310
                                                        [% FOREACH norm IN src_component.norms %]
311
                                                            <li id="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_n_[% norm.norm_num | html %]">
312
                                                                <label for="mc_[% matchcheck.mc_num | html %]_src_c_[% src_component.comp_num | html %]_n_[% norm.norm_num | html %]_norm">Normalization rule: </label>
313
                                                                [%# Note: Following directive in one line, otherwise we have translatabiltiy problems %]
314
                                                                [% 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" %]
315
                                                            </li>
316
                                                        [% END %]
317
                                                    </ol>
318
                                                </fieldset> <!-- /#mc_[% src_component.mc_num | html %]_src_c_[% src_component.comp_num | html %] -->
319
                                            [% END # /FOREACH src_component %]
320
321
                                            [% FOREACH tgt_component IN matchcheck.tgt_components %]
322
                                                <fieldset class="rows" id="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]">
323
                                                    <legend>Target (database) record check field</legend>
324
                                                    <ol>
325
                                                        <li>
326
                                                            <label for="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_tag">Tag: </label>
327
                                                            <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" />
328
                                                        </li>
329
                                                        <li>
330
                                                            <label for="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_subfields">Subfields: </label>
331
                                                            <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" />
332
                                                        </li>
333
                                                        <li>
334
                                                            <label for="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_offset">Offset: </label>
335
                                                            <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" />
336
                                                        </li>
337
                                                        <li>
338
                                                            <label for="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_length">Length: </label>
339
                                                            <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" />
340
                                                        </li>
341
                                                        [% FOREACH norm IN tgt_component.norms %]
342
                                                            <li id="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_n_[% norm.norm_num | html %]">
343
                                                                <label for="mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %]_n_[% norm.norm_num | html %]_norm">Normalization rule: </label>
344
                                                                [%# Note: Following directive in one line, otherwise we have translatabiltiy problems %]
345
                                                                [% 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" %]
346
                                                            </li>
347
                                                        [% END %]
348
                                                    </ol>
349
                                                </fieldset> <!-- /#mc_[% matchcheck.mc_num | html %]_tgt_c_[% tgt_component.comp_num | html %] -->
350
                                            [% END # /FOREACH tgt_component %]
351
                                        </fieldset> <!-- /.rows -->
346
                                        </fieldset> <!-- /.rows -->
352
                                        <br style="clear:both;" />
347
                                        <br style="clear:both;" />
353
                                    </div> <!-- /#mc_[% matchcheck.mc_num | html %] -->
348
                                    </div> <!-- /#mc_[% matchcheck.mc_num | html %] -->
Lines 358-414 Link Here
358
                                        <legend>Match check 1</legend>
353
                                        <legend>Match check 1</legend>
359
                                        <p><a href="#" class="btn btn-link" onclick="InsertMatchcheck('mc_1', 'mc_template'); return false;"><i class="fa fa-plus" aria-hidden="true"></i> New match check</a> | <a href="#" class="btn btn-link" onclick="DeleteMatchcheck(this); return false;"><i class="fa fa-trash-can" aria-hidden="true"></i> Remove this match check</a></p>
354
                                        <p><a href="#" class="btn btn-link" onclick="InsertMatchcheck('mc_1', 'mc_template'); return false;"><i class="fa fa-plus" aria-hidden="true"></i> New match check</a> | <a href="#" class="btn btn-link" onclick="DeleteMatchcheck(this); return false;"><i class="fa fa-trash-can" aria-hidden="true"></i> Remove this match check</a></p>
360
                                        <input type="hidden" id="mc_1_id" name="mc_1_id" value="1" />
355
                                        <input type="hidden" id="mc_1_id" name="mc_1_id" value="1" />
361
                                        <fieldset class="rows" id="mc_1_src_c_1">
356
                                        [% PROCESS match_check_component mc_num=1 which="src" components=0 %]
362
                                            <legend>Source (incoming) record check field</legend>
357
                                        [% PROCESS match_check_component mc_num=1 which="tgt" components=0 %]
363
                                            <ol>
364
                                                <li>
365
                                                    <label for="mc_1_src_c_1_tag">Tag: </label>
366
                                                    <input type="text" id="mc_1_src_c_1_tag" name="mc_1_src_c_1_tag" size="3" maxlength="3" />
367
                                                </li>
368
                                                <li>
369
                                                    <label for="mc_1_src_c_1_subfields">Subfields: </label>
370
                                                    <input type="text" id="mc_1_src_c_1_subfields" name="mc_1_src_c_1_subfields" size="10" maxlength="40" />
371
                                                </li>
372
                                                <li>
373
                                                    <label for="mc_1_src_c_1_offset">Offset: </label>
374
                                                    <input type="text" id="mc_1_src_c_1_offset" name="mc_1_src_c_1_offset" size="5" maxlength="5" />
375
                                                </li>
376
                                                <li>
377
                                                    <label for="mc_1_src_c_1_length">Length: </label>
378
                                                    <input type="text" id="mc_1_src_c_1_length" name="mc_1_src_c_1_length" size="5" maxlength="5" />
379
                                                </li>
380
                                                <li id="mc_1_src_c_1_n_1">
381
                                                    <label for="mc_1_src_c_1_n_1_norm">Normalization rule: </label>
382
                                                    [% PROCESS norms_select selected_norm="none" id="mc_1_src_c_1_n_1_norm" name="mc_1_src_c_1_n_1_norm" %]
383
                                                </li>
384
                                            </ol>
385
                                        </fieldset>
386
387
                                        <fieldset class="rows" id="mc_1_tgt_c_1">
388
                                            <legend>Target (database) record check field</legend>
389
                                            <ol>
390
                                                <li>
391
                                                    <label for="mc_1_tgt_c_1_tag">Tag: </label>
392
                                                    <input type="text" id="mc_1_tgt_c_1_tag" name="mc_1_tgt_c_1_tag" size="3" maxlength="3" />
393
                                                </li>
394
                                                <li>
395
                                                    <label for="mc_1_tgt_c_1_subfields">Subfields: </label>
396
                                                    <input type="text" id="mc_1_tgt_c_1_subfields" name="mc_1_tgt_c_1_subfields" size="10" maxlength="40" />
397
                                                </li>
398
                                                <li>
399
                                                    <label for="mc_1_tgt_c_1_offset">Offset: </label>
400
                                                    <input type="text" id="mc_1_tgt_c_1_offset" name="mc_1_tgt_c_1_offset" size="5" maxlength="5" />
401
                                                </li>
402
                                                <li>
403
                                                    <label for="mc_1_tgt_c_1_length">Length: </label>
404
                                                    <input type="text" id="mc_1_tgt_c_1_length" name="mc_1_tgt_c_1_length" size="5" maxlength="5" />
405
                                                </li>
406
                                                <li id="mc_1_tgt_c_1_n_1">
407
                                                    <label for="mc_1_tgt_c_1_n_1_norm">Normalization rule: </label>
408
                                                    [% PROCESS norms_select selected_norm="none" id="mc_1_tgt_c_1_n_1_norm" name="mc_1_tgt_c_1_n_1_norm" %]
409
                                                </li>
410
                                            </ol>
411
                                        </fieldset> <!-- /#mc_1_tgt_c_1 -->
412
                                    </fieldset> <!-- /.rows -->
358
                                    </fieldset> <!-- /.rows -->
413
                                    <br style="clear:both;" />
359
                                    <br style="clear:both;" />
414
                                </div> <!-- /#mc_1 -->
360
                                </div> <!-- /#mc_1 -->
Lines 535-590 Link Here
535
                            <legend>Match check <span class="counter"></span></legend>
481
                            <legend>Match check <span class="counter"></span></legend>
536
                            <p><a href="#" class="button" onclick="DeleteMatchcheck(this); return false;"><i class="fa fa-trash-can" aria-hidden="true"></i>  Remove this match check</a></p>
482
                            <p><a href="#" class="button" onclick="DeleteMatchcheck(this); return false;"><i class="fa fa-trash-can" aria-hidden="true"></i>  Remove this match check</a></p>
537
                            <input type="hidden" id="mc_num_id" name="mc_num_id" value="1" />
483
                            <input type="hidden" id="mc_num_id" name="mc_num_id" value="1" />
538
                            <fieldset class="rows" id="mc_num_src_c_1">
484
                            [% PROCESS match_check_component mc_num="num" which="src" components=0 %]
539
                                <legend>Source (incoming) record check field</legend>
485
                            [% PROCESS match_check_component mc_num="num" which="tgt" components=0 %]
540
                                <ol>
541
                                    <li>
542
                                        <label for="mc_num_src_c_1_tag">Tag: </label>
543
                                        <input type="text" id="mc_num_src_c_1_tag" name="mc_num_src_c_1_tag" size="3" maxlength="3" />
544
                                    </li>
545
                                    <li>
546
                                        <label for="mc_num_src_c_1_subfields">Subfields: </label>
547
                                        <input type="text" id="mc_num_src_c_1_subfields" name="mc_num_src_c_1_subfields" size="10" maxlength="40" />
548
                                    </li>
549
                                    <li>
550
                                        <label for="mc_num_src_c_1_offset">Offset: </label>
551
                                        <input type="text" id="mc_num_src_c_1_offset" name="mc_num_src_c_1_offset" size="5" maxlength="5" />
552
                                    </li>
553
                                    <li>
554
                                        <label for="mc_num_src_c_1_length">Length: </label>
555
                                        <input type="text" id="mc_num_src_c_1_length" name="mc_num_src_c_1_length" size="5" maxlength="5" />
556
                                    </li>
557
                                    <li id="mc_num_src_c_1_n_1">
558
                                        <label for="mc_num_src_c_1_n_1_norm">Normalization rule: </label>
559
                                        [% PROCESS norms_select selected_norm="none" id="mc_num_src_c_1_n_1_norm" name="mc_num_src_c_1_n_1_norm" %]
560
                                    </li>
561
                                </ol>
562
                            </fieldset> <!-- /#mc_num_src_c_1 -->
563
                            <fieldset class="rows" id="mc_num_tgt_c_1">
564
                                <legend>Target (database) record check field</legend>
565
                                <ol>
566
                                    <li>
567
                                        <label for="mc_num_tgt_c_1_tag">Tag: </label>
568
                                        <input type="text" id="mc_num_tgt_c_1_tag" name="mc_num_tgt_c_1_tag" size="3" maxlength="3" />
569
                                    </li>
570
                                    <li>
571
                                        <label for="mc_num_tgt_c_1_subfields">Subfields: </label>
572
                                        <input type="text" id="mc_num_tgt_c_1_subfields" name="mc_num_tgt_c_1_subfields" size="10" maxlength="40" />
573
                                    </li>
574
                                    <li>
575
                                        <label for="mc_num_tgt_c_1_offset">Offset: </label>
576
                                        <input type="text" id="mc_num_tgt_c_1_offset" name="mc_num_tgt_c_1_offset" size="5" maxlength="5" />
577
                                    </li>
578
                                    <li>
579
                                        <label for="mc_num_tgt_c_1_length">Length: </label>
580
                                        <input type="text" id="mc_num_tgt_c_1_length" name="mc_num_tgt_c_1_length" size="5" maxlength="5" />
581
                                    </li>
582
                                    <li id="mc_num_tgt_c_1_n_1">
583
                                        <label for="mc_num_tgt_c_1_n_1_norm">Normalization rule: </label>
584
                                        [% PROCESS norms_select selected_norm="none" id="mc_num_tgt_c_1_n_1_norm" name="mc_num_tgt_c_1_n_1_norm" %]
585
                                    </li>
586
                                </ol>
587
                            </fieldset> <!-- #mc_num_tgt_c_1 -->
588
                        </fieldset> <!-- /.rows -->
486
                        </fieldset> <!-- /.rows -->
589
                        <br style="clear:both;" />
487
                        <br style="clear:both;" />
590
                    </div> <!-- /#mc_template -->
488
                    </div> <!-- /#mc_template -->
591
- 

Return to bug 15536