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

(-)a/C4/Overdues.pm (+24 lines)
Lines 50-55 BEGIN { Link Here
50
        &GetOverduesForBranch
50
        &GetOverduesForBranch
51
        &RemoveNotifyLine
51
        &RemoveNotifyLine
52
        &AddNotifyLine
52
        &AddNotifyLine
53
        &GetOverdueMessageTransportTypes
53
	);
54
	);
54
	# subs to remove
55
	# subs to remove
55
	push @EXPORT, qw(
56
	push @EXPORT, qw(
Lines 906-911 sub RemoveNotifyLine { Link Here
906
    return 1;
907
    return 1;
907
}
908
}
908
909
910
=head2 GetOverdueMessageTransportTypes
911
912
    my $message_transport_types = GetOverdueMessageTransportTypes( $branchcode, $categorycode, $letternumber);
913
914
    return a arrayref with message_transport_type for given branchcode, categorycode and letternumber(1,2 or 3)
915
916
=cut
917
sub GetOverdueMessageTransportTypes {
918
    my ( $branchcode, $categorycode, $letternumber ) = @_;
919
    return unless $categorycode and $letternumber;
920
    my $dbh = C4::Context->dbh;
921
    my $sth = $dbh->prepare("
922
        SELECT message_transport_type FROM overduerules_transport_types
923
        WHERE branchcode = ? AND categorycode = ? AND letternumber = ?
924
    ");
925
    $sth->execute( $branchcode, $categorycode, $letternumber );
926
    my @mtts;
927
    while ( my $mtt = $sth->fetchrow ) {
928
        push @mtts, $mtt;
929
    }
930
    return \@mtts;
931
}
932
909
1;
933
1;
910
__END__
934
__END__
911
935
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/overduerules.tt (-128 / +74 lines)
Lines 4-15 Link Here
4
4
5
<script type="text/javascript">
5
<script type="text/javascript">
6
//<![CDATA[
6
//<![CDATA[
7
var tab_map = { "1" : _("First"), "2" : _("Second"), "3" : _("Third")};
7
$(document).ready(function() {
8
$(document).ready(function() {
8
        $('#selectlibrary').find("input:submit").hide();
9
    $('#selectlibrary').find("input:submit").hide();
9
        $('#branch').change(function() {
10
    $('#branch').change(function() {
10
                $('#selectlibrary').submit();
11
            $('#selectlibrary').submit();
11
        });
12
    });
12
        $('#rulestabs').tabs();
13
    $("li>a.tab").each( function(){
14
        var id = $(this).attr("data-number");
15
        $(this).html(tab_map[id]);
16
    } );
17
    $('#rulestabs').tabs();
13
});
18
});
14
//]]>
19
//]]>
15
</script>
20
</script>
Lines 72-202 $(document).ready(function() { Link Here
72
                    [% IF ( datasaved ) %]<div class="dialog message">INPUT SAVED</div> [% END %]
77
                    [% IF ( datasaved ) %]<div class="dialog message">INPUT SAVED</div> [% END %]
73
78
74
  <div id="rulestabs" class="toptabs">
79
  <div id="rulestabs" class="toptabs">
75
	<ul class="ui-tabs-nav">
80
    <ul class="ui-tabs-nav">
76
      <li><a href="#first">First</a></li>
81
      [% FOR tab IN tabs %]
77
      <li><a href="#second">Second</a></li>
82
          <li><a href="#[% tab.id %]" class="tab [% tab.id %]" data-number="[% tab.number %]"></a></li>
78
      <li><a href="#third">Third</a></li>
83
      [% END %]
79
	</ul>
84
    </ul>
85
    [% FOR tab IN tabs %]
86
      <div id="[% tab.id %]">
87
        <table>
88
          <thead>
89
            <tr>
90
              <th>&nbsp;</th>
91
              <th scope="col">Delay</th>
92
              <th scope="col">Letter</th>
93
              <th scope="col">Restrict</th>
94
              [% FOREACH mtt IN message_transport_types %]
95
                <th scpre="col">[% mtt %]</th>
96
              [% END %]
97
            </tr>
98
          </thead>
99
          <tbody>
100
          [% FOREACH value IN tab.values %]
101
            <tr>
102
              <th scope="row">[% value.line %]</th>
103
              <td>
104
              <input type="text" name="delay[% tab.number %]-[% value.overduename %]" size="5" value="[% value.delay %]" />
105
              </td>
106
              <td>
107
              [% IF ( value.noletter ) %]
108
                <input type="text" name="letter[% tab.number %]-[% value.overduename %]" value="[% value.letter %]" />
109
              [% ELSE %]
110
                <select name="letter[% tab.number %]-[% value.overduename %]">
111
                  <option value="">No notice</option>
112
                  [% FOREACH letterloop IN value.letterloop %]
113
                    [% IF ( letterloop.selected ) %]
114
                      <option value="[% letterloop.value %]" selected="selected">[% letterloop.lettername %]</option>
115
                    [% ELSE %]
116
                      <option value="[% letterloop.value %]">[% letterloop.lettername %]</option>
117
                    [% END %]
118
                  [% END %]
119
                </select>
120
              [% END %]
121
              </td>
122
              <td>
123
              [% IF ( value.debarred ) %]
124
                <input type="checkbox" name="debarred[% tab.number %]-[% value.overduename %]" checked="checked" value="1" />
125
              [% ELSE %]
126
                <input type="checkbox" name="debarred[% tab.number %]-[% value.overduename %]" value="1" />
127
              [% END %]
128
              </td>
129
              [% FOREACH mtt IN value.message_transport_types %]
130
                <td>
131
                  [% IF mtt.selected %]
132
                    <input type="checkbox" name="mtt[% tab.number %]-[% value.overduename %]" value="[% mtt.value %]" checked="checked" />
133
                  [% ELSE %]
134
                    <input type="checkbox" name="mtt[% tab.number %]-[% value.overduename %]" value="[% mtt.value %]" />
135
                  [% END %]
136
                </td>
137
              [% END %]
138
            </tr>
139
          [% END %]
140
          </tbody>
141
        </table>
142
      </div>
143
    [% END %]
80
144
81
<div id="first"><table>
82
                    <tr><th>&nbsp;</th><th scope="col">Delay</th><th scope="col">First letter</th><th scope="col">Restrict</th></tr>
83
                    [% FOREACH tabl IN table %]
84
                     [% UNLESS ( loop.odd ) %]
85
                                <tr class="highlight">
86
                            [% ELSE %]
87
                                <tr>
88
                            [% END %]
89
                            <th scope="row">[% tabl.line %]</th>
90
<td>
91
                                <input type="text" name="delay1-[% tabl.overduename %]" size="5" value="[% tabl.delay1 %]" />
92
                            </td>
93
<td>
94
                            [% IF ( tabl.noletter ) %]
95
                                <input type="text" name="letter1-[% tabl.overduename %]" value="[% tabl.letter1 %]" />
96
                            [% ELSE %]
97
                                <select name="letter1-[% tabl.overduename %]">
98
                                    <option value="">No notice</option>
99
                                    [% FOREACH letterloop IN tabl.letterloop1 %]
100
                                        [% IF ( letterloop.selected ) %]
101
                                            <option value="[% letterloop.value %]" selected="selected">[% letterloop.lettername %]</option>
102
                                        [% ELSE %]
103
                                            <option value="[% letterloop.value %]">[% letterloop.lettername %]</option>
104
                                        [% END %]
105
                                    [% END %]
106
                                </select>
107
                            [% END %]
108
                            </td>
109
<td>
110
                                [% IF ( tabl.debarred1 ) %]
111
                                    <input type="checkbox" name="debarred1-[% tabl.overduename %]" checked="checked" value="1" />
112
                                [% ELSE %]
113
                                    <input type="checkbox" name="debarred1-[% tabl.overduename %]" value="1" />
114
                                [% END %]
115
                            </td>
116
							</tr>
117
							[% END %]
118
							</table>
119
</div>
120
145
121
<div id="second"><table>
122
                    <tr><th>&nbsp;</th><th scope="col">Delay</th><th scope="col">Second letter</th><th scope="col">Restrict</th></tr>
123
                    [% FOREACH tabl IN table %]
124
                     [% UNLESS ( loop.odd ) %]
125
                                <tr class="highlight">
126
                            [% ELSE %]
127
                                <tr>
128
                            [% END %]
129
                            <th scope="row">[% tabl.line %]</th>
130
<td>
131
                                <input type="text" name="delay2-[% tabl.overduename %]" size="5" value="[% tabl.delay2 %]" />
132
                            </td>
133
<td>
134
                            [% IF ( tabl.noletter ) %]
135
                                <input type="text" name="letter2-[% tabl.overduename %]" value="[% tabl.letter2 %]" />
136
                            [% ELSE %]
137
                                <select name="letter2-[% tabl.overduename %]">
138
                                    <option value="">No notice</option>
139
                                        [% FOREACH letterloop IN tabl.letterloop2 %]
140
                                            [% IF ( letterloop.selected ) %]
141
                                                <option value="[% letterloop.value %]" selected="selected">[% letterloop.lettername %]</option>
142
                                            [% ELSE %]
143
                                                <option value="[% letterloop.value %]">[% letterloop.lettername %]</option>
144
                                            [% END %]
145
                                        [% END %]
146
                                </select>
147
                            [% END %]
148
                            </td>
149
<td>
150
                                [% IF ( tabl.debarred2 ) %]
151
                                    <input type="checkbox" name="debarred2-[% tabl.overduename %]" checked="checked" value="1" />
152
                                [% ELSE %]
153
                                    <input type="checkbox" name="debarred2-[% tabl.overduename %]" value="1" />
154
                                [% END %]
155
                            </td>
156
							</tr>
157
							[% END %]
158
							</table>
159
</div>
160
161
<div id="third"><table>
162
                    <tr><th>&nbsp;</th><th scope="col">Delay</th><th scope="col">Third letter</th><th scope="col">Restrict</th></tr>
163
                    [% FOREACH tabl IN table %]
164
                     [% UNLESS ( loop.odd ) %]
165
                                <tr class="highlight">
166
                            [% ELSE %]
167
                                <tr>
168
                            [% END %]
169
                            <th scope="row">[% tabl.line %]</th>
170
<td>
171
                                <input type="text" name="delay3-[% tabl.overduename %]" size="5" value="[% tabl.delay3 %]" />
172
                            </td>
173
<td>
174
                            [% IF ( tabl.noletter ) %]
175
                                <input type="text" name="letter3-[% tabl.overduename %]" value="[% tabl.letter3 %]" />
176
                            [% ELSE %]
177
                                <select name="letter3-[% tabl.overduename %]">
178
                                    <option value="">No notice</option>
179
                                    [% FOREACH letterloop IN tabl.letterloop3 %]
180
                                        [% IF ( letterloop.selected ) %]
181
                                            <option value="[% letterloop.value %]" selected="selected">[% letterloop.lettername %]</option>
182
                                        [% ELSE %]
183
                                            <option value="[% letterloop.value %]">[% letterloop.lettername %]</option>
184
                                        [% END %]
185
                                    [% END %]
186
                                </select>
187
                            [% END %]
188
                            </td>
189
<td>
190
                                [% IF ( tabl.debarred3 ) %]
191
                                    <input type="checkbox" name="debarred3-[% tabl.overduename %]" checked="checked" value="1" />
192
                                [% ELSE %]
193
                                    <input type="checkbox" name="debarred3-[% tabl.overduename %]" value="1" />
194
                                [% END %]
195
                            </td>
196
                        </tr>
197
                    [% END %]
198
                </table>
199
</div>
200
</div>
146
</div>
201
147
202
                <fieldset class="action"><input type="submit" value="Save changes" /></fieldset>
148
                <fieldset class="action"><input type="submit" value="Save changes" /></fieldset>
(-)a/t/db_dependent/Overdues.t (+66 lines)
Line 0 Link Here
1
#!/usr/bin/perl;
2
3
use Modern::Perl;
4
use Test::More;# tests => 3;
5
6
use C4::Context;
7
use_ok('C4::Overdues');
8
can_ok('C4::Overdues', 'GetOverdueMessageTransportTypes');
9
10
my $dbh = C4::Context->dbh;
11
$dbh->{AutoCommit} = 0;
12
$dbh->{RaiseError} = 1;
13
14
$dbh->do(q|DELETE FROM letter|);
15
$dbh->do(q|DELETE FROM message_queue|);
16
$dbh->do(q|DELETE FROM message_transport_types|);
17
$dbh->do(q|DELETE FROM overduerules_transport_types|);
18
19
$dbh->do(q|
20
    INSERT INTO message_transport_types( message_transport_type ) VALUES ('email'), ('phone'), ('print'), ('sms')
21
|);
22
23
$dbh->do(q|
24
    INSERT INTO overduerules_transport_types( branchcode, categorycode, letternumber, message_transport_type ) VALUES
25
    ('CPL', 'PT', 1, 'email'),
26
    ('CPL', 'PT', 2, 'sms'),
27
    ('CPL', 'PT', 3, 'email'),
28
    ('CPL', 'YA', 3, 'print'),
29
    ('', 'PT', 1, 'email'),
30
    ('', 'PT', 2, 'email'),
31
    ('', 'PT', 2, 'sms'),
32
    ('', 'PT', 3, 'print'),
33
    ('', 'YA', 2, 'sms')
34
|);
35
36
my $mtts;
37
38
$mtts = C4::Overdues::GetOverdueMessageTransportTypes('CPL', 'PT');
39
is( $mtts, undef, 'GetOverdueMessageTransportTypes: returns undef if no letternumber given' );
40
41
$mtts = C4::Overdues::GetOverdueMessageTransportTypes('CPL', undef, 1);
42
is( $mtts, undef, 'GetOverdueMessageTransportTypes: returns undef if no categorycode given' );
43
44
$mtts = C4::Overdues::GetOverdueMessageTransportTypes('CPL');
45
is( $mtts, undef, 'GetOverdueMessageTransportTypes: returns undef if no letternumber and categorycode given' );
46
47
$mtts = C4::Overdues::GetOverdueMessageTransportTypes('CPL', 'PT', 1);
48
is_deeply( $mtts, ['email'], 'GetOverdueMessageTransportTypes: first overdue is by email for PT (CPL)' );
49
50
$mtts = C4::Overdues::GetOverdueMessageTransportTypes('CPL', 'PT', 2);
51
is_deeply( $mtts, ['sms'], 'GetOverdueMessageTransportTypes: second overdue is by sms for PT (CPL)' );
52
53
$mtts = C4::Overdues::GetOverdueMessageTransportTypes('CPL', 'PT', 3);
54
is_deeply( $mtts, ['email'], 'GetOverdueMessageTransportTypes: third overdue is by email for PT (CPL)' );
55
56
my $mtts = C4::Overdues::GetOverdueMessageTransportTypes('', 'PT', 1);
57
is_deeply( $mtts, ['email'], 'GetOverdueMessageTransportTypes: first overdue is by email for PT (default)' );
58
59
$mtts = C4::Overdues::GetOverdueMessageTransportTypes('', 'PT', 2);
60
is_deeply( $mtts, ['email', 'sms'], 'GetOverdueMessageTransportTypes: second overdue is by email and sms for PT (default)' );
61
62
$mtts = C4::Overdues::GetOverdueMessageTransportTypes('', 'PT', 3);
63
is_deeply( $mtts, ['print'], 'GetOverdueMessageTransportTypes: third overdue is by print for PT (default)' );
64
65
66
done_testing;
(-)a/tools/overduerules.pl (-23 / +104 lines)
Lines 27-32 use C4::Koha; Link Here
27
use C4::Branch;
27
use C4::Branch;
28
use C4::Letters;
28
use C4::Letters;
29
use C4::Members;
29
use C4::Members;
30
use C4::Overdues;
30
31
31
our $input = new CGI;
32
our $input = new CGI;
32
my $dbh = C4::Context->dbh;
33
my $dbh = C4::Context->dbh;
Lines 44-54 sub blank_row { Link Here
44
    for my $rp (@rule_params) {
45
    for my $rp (@rule_params) {
45
        for my $n (1 .. 3) {
46
        for my $n (1 .. 3) {
46
            my $key   = "${rp}${n}-$category_code";
47
            my $key   = "${rp}${n}-$category_code";
47
            
48
48
            if (utf8::is_utf8($key)) {
49
            if (utf8::is_utf8($key)) {
49
              utf8::encode($key);
50
              utf8::encode($key);
50
            }
51
            }
51
            
52
52
            my $value = $input->param($key);
53
            my $value = $input->param($key);
53
            if ($value) {
54
            if ($value) {
54
                return 0;
55
                return 0;
Lines 84-89 if ($op eq 'save') { Link Here
84
    my $sth_insert = $dbh->prepare("INSERT INTO overduerules (branchcode,categorycode, delay1,letter1,debarred1, delay2,letter2,debarred2, delay3,letter3,debarred3) VALUES (?,?,?,?,?,?,?,?,?,?,?)");
85
    my $sth_insert = $dbh->prepare("INSERT INTO overduerules (branchcode,categorycode, delay1,letter1,debarred1, delay2,letter2,debarred2, delay3,letter3,debarred3) VALUES (?,?,?,?,?,?,?,?,?,?,?)");
85
    my $sth_update=$dbh->prepare("UPDATE overduerules SET delay1=?, letter1=?, debarred1=?, delay2=?, letter2=?, debarred2=?, delay3=?, letter3=?, debarred3=? WHERE branchcode=? AND categorycode=?");
86
    my $sth_update=$dbh->prepare("UPDATE overduerules SET delay1=?, letter1=?, debarred1=?, delay2=?, letter2=?, debarred2=?, delay3=?, letter3=?, debarred3=? WHERE branchcode=? AND categorycode=?");
86
    my $sth_delete=$dbh->prepare("DELETE FROM overduerules WHERE branchcode=? AND categorycode=?");
87
    my $sth_delete=$dbh->prepare("DELETE FROM overduerules WHERE branchcode=? AND categorycode=?");
88
    my $sth_insert_mtt = $dbh->prepare("
89
        INSERT INTO overduerules_transport_types(
90
            branchcode, categorycode, letternumber, message_transport_type
91
        ) VALUES (
92
            ?, ?, ?, ?
93
        )
94
    ");
95
    my $sth_delete_mtt = $dbh->prepare("
96
        DELETE FROM overduerules_transport_types
97
        WHERE branchcode = ? AND categorycode = ?
98
    ");
99
87
    foreach my $key (@names){
100
    foreach my $key (@names){
88
            # ISSUES
101
            # ISSUES
89
            if ($key =~ /(delay|letter|debarred)([1-3])-(.*)/) {
102
            if ($key =~ /(delay|letter|debarred)([1-3])-(.*)/) {
Lines 166-171 if ($op eq 'save') { Link Here
166
                            ($temphash{$bor}->{"debarred3"}?$temphash{$bor}->{"debarred3"}:0)
179
                            ($temphash{$bor}->{"debarred3"}?$temphash{$bor}->{"debarred3"}:0)
167
                            );
180
                            );
168
                    }
181
                    }
182
183
                    $sth_delete_mtt->execute( $branch, $bor );
184
                    for my $letternumber ( 1..3 ) {
185
                        my @mtt = $input->param( "mtt${letternumber}-$bor" );
186
                        next unless @mtt;
187
                        for my $mtt ( @mtt ) {
188
                            $sth_insert_mtt->execute( $branch, $bor, $letternumber, $mtt);
189
                        }
190
                    }
169
                }
191
                }
170
        }
192
        }
171
    }
193
    }
Lines 185-203 my $countletters = keys %{$letters}; Link Here
185
207
186
my @line_loop;
208
my @line_loop;
187
209
210
my $message_transport_types = C4::Letters::GetMessageTransportTypes();
211
my ( @first, @second, @third );
188
for my $data (@categories) {
212
for my $data (@categories) {
189
    my %row = (
190
        overduename => $data->{'categorycode'},
191
        line        => $data->{'description'}
192
    );
193
    if (%temphash and not $input_saved){
213
    if (%temphash and not $input_saved){
194
        # if we managed to save the form submission, don't
214
        # if we managed to save the form submission, don't
195
        # reuse %temphash, but take the values from the
215
        # reuse %temphash, but take the values from the
196
        # database - this makes it easier to identify
216
        # database - this makes it easier to identify
197
        # bugs where the form submission was not correctly saved
217
        # bugs where the form submission was not correctly saved
198
        for (my $i=1;$i<=3;$i++){
218
        for my $i ( 1..3 ){
199
            $row{"delay$i"}=$temphash{$data->{'categorycode'}}->{"delay$i"};
219
            my %row = (
200
            $row{"debarred$i"}=$temphash{$data->{'categorycode'}}->{"debarred$i"};
220
                overduename => $data->{'categorycode'},
221
                line        => $data->{'description'}
222
            );
223
            $row{delay}=$temphash{$data->{'categorycode'}}->{"delay$i"};
224
            $row{debarred}=$temphash{$data->{'categorycode'}}->{"debarred$i"};
201
            if ($countletters){
225
            if ($countletters){
202
                my @letterloop;
226
                my @letterloop;
203
                foreach my $thisletter (sort { $letters->{$a} cmp $letters->{$b} } keys %$letters) {
227
                foreach my $thisletter (sort { $letters->{$a} cmp $letters->{$b} } keys %$letters) {
Lines 212-221 for my $data (@categories) { Link Here
212
                                    );
236
                                    );
213
                    push @letterloop, \%letterrow;
237
                    push @letterloop, \%letterrow;
214
                }
238
                }
215
                $row{"letterloop$i"}=\@letterloop;
239
                $row{letterloop}=\@letterloop;
216
            } else {
240
            } else {
217
                $row{"noletter"}=1;
241
                $row{noletter}=1;
218
                $row{"letter$i"}=$temphash{$data->{'categorycode'}}->{"letter$i"};
242
                $row{letter}=$temphash{$data->{'categorycode'}}->{"letter$i"};
243
            }
244
            my @selected_mtts = @{ GetOverdueMessageTransportTypes( $branch, $data->{'categorycode'}, $i) };
245
            my @mtts;
246
            for my $mtt ( @$message_transport_types ) {
247
                push @mtts, {
248
                    value => $mtt,
249
                    selected => ( grep {/$mtt/} @selected_mtts ) ? 1 : 0 ,
250
                }
251
            }
252
            $row{message_transport_types} = \@mtts;
253
            if ( $i == 1 ) {
254
                push @first, \%row;
255
            } elsif ( $i == 2 ) {
256
                push @second, \%row;
257
            } else {
258
                push @third, \%row;
219
            }
259
            }
220
        }
260
        }
221
    } else {
261
    } else {
Lines 223-229 for my $data (@categories) { Link Here
223
        my $sth2=$dbh->prepare("SELECT * from overduerules WHERE branchcode=? AND categorycode=?");
263
        my $sth2=$dbh->prepare("SELECT * from overduerules WHERE branchcode=? AND categorycode=?");
224
        $sth2->execute($branch,$data->{'categorycode'});
264
        $sth2->execute($branch,$data->{'categorycode'});
225
        my $dat=$sth2->fetchrow_hashref;
265
        my $dat=$sth2->fetchrow_hashref;
226
        for (my $i=1;$i<=3;$i++){
266
        for my $i ( 1..3 ){
267
            my %row = (
268
                overduename => $data->{'categorycode'},
269
                line        => $data->{'description'}
270
            );
227
            if ($countletters){
271
            if ($countletters){
228
                my @letterloop;
272
                my @letterloop;
229
                foreach my $thisletter (sort { $letters->{$a} cmp $letters->{$b} } keys %$letters) {
273
                foreach my $thisletter (sort { $letters->{$a} cmp $letters->{$b} } keys %$letters) {
Lines 237-255 for my $data (@categories) { Link Here
237
                                    );
281
                                    );
238
                    push @letterloop, \%letterrow;
282
                    push @letterloop, \%letterrow;
239
                }
283
                }
240
                $row{"letterloop$i"}=\@letterloop;
284
                $row{letterloop}=\@letterloop;
241
            } else {
285
            } else {
242
                $row{"noletter"}=1;
286
                $row{noletter}=1;
243
                if ($dat->{"letter$i"}){$row{"letter$i"}=$dat->{"letter$i"};}
287
                if ($dat->{"letter$i"}){$row{letter}=$dat->{"letter$i"};}
288
            }
289
            if ($dat->{"delay$i"}){$row{delay}=$dat->{"delay$i"};}
290
            if ($dat->{"debarred$i"}){$row{debarred}=$dat->{"debarred$i"};}
291
            my @selected_mtts = @{ GetOverdueMessageTransportTypes( $branch, $data->{'categorycode'}, $i) };
292
            my @mtts;
293
            for my $mtt ( @$message_transport_types ) {
294
                push @mtts, {
295
                    value => $mtt,
296
                    selected => ( grep {/$mtt/} @selected_mtts ) ? 1 : 0 ,
297
                }
244
            }
298
            }
245
            if ($dat->{"delay$i"}){$row{"delay$i"}=$dat->{"delay$i"};}
299
            $row{message_transport_types} = \@mtts;
246
            if ($dat->{"debarred$i"}){$row{"debarred$i"}=$dat->{"debarred$i"};}
300
            if ( $i == 1 ) {
301
                push @first, \%row;
302
            } elsif ( $i == 2 ) {
303
                push @second, \%row;
304
            } else {
305
                push @third, \%row;
306
            }
307
247
        }
308
        }
248
    }
309
    }
249
    push @line_loop,\%row;
250
}
310
}
251
311
252
$template->param(table=> \@line_loop,
312
my @tabs = (
253
                branchloop => $branchloop,
313
    {
254
                branch => $branch);
314
        id => 'first',
315
        number => 1,
316
        values => \@first,
317
    },
318
    {
319
        id => 'second',
320
        number => 2,
321
        values => \@second,
322
    },
323
    {
324
        id => 'third',
325
        number => 3,
326
        values => \@third,
327
    },
328
);
329
330
$template->param(
331
    table => ( @first or @second or @third ? 1 : 0 ),
332
    branchloop => $branchloop,
333
    branch => $branch,
334
    tabs => \@tabs,
335
    message_transport_types => $message_transport_types,
336
);
255
output_html_with_http_headers $input, $cookie, $template->output;
337
output_html_with_http_headers $input, $cookie, $template->output;
256
- 

Return to bug 9016