Lines 26-32
use C4::Letters;
Link Here
|
26 |
use C4::Members; |
26 |
use C4::Members; |
27 |
use C4::Overdues qw( GetOverdueMessageTransportTypes ); |
27 |
use C4::Overdues qw( GetOverdueMessageTransportTypes ); |
28 |
use Koha::Libraries; |
28 |
use Koha::Libraries; |
29 |
|
29 |
use Koha::OverdueRules; |
|
|
30 |
use Koha::OverdueRules::TransportTypes; |
30 |
use Koha::Patron::Categories; |
31 |
use Koha::Patron::Categories; |
31 |
|
32 |
|
32 |
our $input = CGI->new; |
33 |
our $input = CGI->new; |
Lines 73-79
$branch =
Link Here
|
73 |
: C4::Context->preference('DefaultToLoggedInLibraryOverdueTriggers') ? C4::Context::mybranch() |
74 |
: C4::Context->preference('DefaultToLoggedInLibraryOverdueTriggers') ? C4::Context::mybranch() |
74 |
: Koha::Libraries->search->count() == 1 ? undef |
75 |
: Koha::Libraries->search->count() == 1 ? undef |
75 |
: undef; |
76 |
: undef; |
76 |
$branch ||= q{}; |
77 |
$branch ||= undef; |
77 |
|
78 |
|
78 |
my $op = $input->param('op'); |
79 |
my $op = $input->param('op'); |
79 |
$op ||= q{}; |
80 |
$op ||= q{}; |
Lines 85-106
my %temphash;
Link Here
|
85 |
my $input_saved = 0; |
86 |
my $input_saved = 0; |
86 |
if ($op eq 'save') { |
87 |
if ($op eq 'save') { |
87 |
my @names=$input->multi_param(); |
88 |
my @names=$input->multi_param(); |
88 |
my $sth_search = $dbh->prepare("SELECT count(*) AS total FROM overduerules WHERE branchcode=? AND categorycode=?"); |
|
|
89 |
|
90 |
my $sth_insert = $dbh->prepare("INSERT INTO overduerules (branchcode,categorycode, delay1,letter1,debarred1, delay2,letter2,debarred2, delay3,letter3,debarred3) VALUES (?,?,?,?,?,?,?,?,?,?,?)"); |
91 |
my $sth_update=$dbh->prepare("UPDATE overduerules SET delay1=?, letter1=?, debarred1=?, delay2=?, letter2=?, debarred2=?, delay3=?, letter3=?, debarred3=? WHERE branchcode=? AND categorycode=?"); |
92 |
my $sth_delete=$dbh->prepare("DELETE FROM overduerules WHERE branchcode=? AND categorycode=?"); |
93 |
my $sth_insert_mtt = $dbh->prepare(" |
94 |
INSERT INTO overduerules_transport_types( |
95 |
overduerules_id, letternumber, message_transport_type |
96 |
) VALUES ( |
97 |
(SELECT overduerules_id FROM overduerules WHERE branchcode = ? AND categorycode = ?), ?, ? |
98 |
) |
99 |
"); |
100 |
my $sth_delete_mtt = $dbh->prepare(" |
101 |
DELETE FROM overduerules_transport_types |
102 |
WHERE overduerules_id = (SELECT overduerules_id FROM overduerules WHERE branchcode = ? AND categorycode = ?) |
103 |
"); |
104 |
|
89 |
|
105 |
foreach my $key (@names){ |
90 |
foreach my $key (@names){ |
106 |
# ISSUES |
91 |
# ISSUES |
Lines 156-196
if ($op eq 'save') {
Link Here
|
156 |
if (($temphash{$bor}->{delay1} and ($temphash{$bor}->{"letter1"} or $temphash{$bor}->{"debarred1"})) |
141 |
if (($temphash{$bor}->{delay1} and ($temphash{$bor}->{"letter1"} or $temphash{$bor}->{"debarred1"})) |
157 |
or ($temphash{$bor}->{delay2} and ($temphash{$bor}->{"letter2"} or $temphash{$bor}->{"debarred2"})) |
142 |
or ($temphash{$bor}->{delay2} and ($temphash{$bor}->{"letter2"} or $temphash{$bor}->{"debarred2"})) |
158 |
or ($temphash{$bor}->{delay3} and ($temphash{$bor}->{"letter3"} or $temphash{$bor}->{"debarred3"}))) { |
143 |
or ($temphash{$bor}->{delay3} and ($temphash{$bor}->{"letter3"} or $temphash{$bor}->{"debarred3"}))) { |
159 |
$sth_search->execute($branch,$bor); |
144 |
my $overdue_rule = Koha::OverdueRules->find({ branchcode => $branch, categorycode => $bor }); |
160 |
my $res = $sth_search->fetchrow_hashref(); |
145 |
if ( $overdue_rule ) { |
161 |
if ($res->{'total'}>0) { |
146 |
$overdue_rule->update({ |
162 |
$sth_update->execute( |
147 |
delay1 => $temphash{$bor}->{"delay1"} ? $temphash{$bor}->{"delay1"} : undef, |
163 |
($temphash{$bor}->{"delay1"}?$temphash{$bor}->{"delay1"}:undef), |
148 |
letter1 => $temphash{$bor}->{"letter1"} ? $temphash{$bor}->{"letter1"} : "", |
164 |
($temphash{$bor}->{"letter1"}?$temphash{$bor}->{"letter1"}:""), |
149 |
debarred1 => $temphash{$bor}->{"debarred1"} ? $temphash{$bor}->{"debarred1"} : 0, |
165 |
($temphash{$bor}->{"debarred1"}?$temphash{$bor}->{"debarred1"}:0), |
150 |
delay2 => $temphash{$bor}->{"delay2"} ? $temphash{$bor}->{"delay2"} : undef, |
166 |
($temphash{$bor}->{"delay2"}?$temphash{$bor}->{"delay2"}:undef), |
151 |
letter2 => $temphash{$bor}->{"letter2"} ? $temphash{$bor}->{"letter2"} : "", |
167 |
($temphash{$bor}->{"letter2"}?$temphash{$bor}->{"letter2"}:""), |
152 |
debarred2 => $temphash{$bor}->{"debarred2"} ? $temphash{$bor}->{"debarred2"} : 0, |
168 |
($temphash{$bor}->{"debarred2"}?$temphash{$bor}->{"debarred2"}:0), |
153 |
delay3 => $temphash{$bor}->{"delay3"} ? $temphash{$bor}->{"delay3"} : undef, |
169 |
($temphash{$bor}->{"delay3"}?$temphash{$bor}->{"delay3"}:undef), |
154 |
letter3 => $temphash{$bor}->{"letter3"} ? $temphash{$bor}->{"letter3"} : "", |
170 |
($temphash{$bor}->{"letter3"}?$temphash{$bor}->{"letter3"}:""), |
155 |
debarred3 => $temphash{$bor}->{"debarred3"} ? $temphash{$bor}->{"debarred3"} : 0, |
171 |
($temphash{$bor}->{"debarred3"}?$temphash{$bor}->{"debarred3"}:0), |
156 |
}); |
172 |
$branch ,$bor |
|
|
173 |
); |
174 |
} else { |
157 |
} else { |
175 |
$sth_insert->execute($branch,$bor, |
158 |
$overdue_rule = Koha::OverdueRule->new({ |
176 |
($temphash{$bor}->{"delay1"}?$temphash{$bor}->{"delay1"}:0), |
159 |
branchcode => $branch, |
177 |
($temphash{$bor}->{"letter1"}?$temphash{$bor}->{"letter1"}:""), |
160 |
categorycode => $bor, |
178 |
($temphash{$bor}->{"debarred1"}?$temphash{$bor}->{"debarred1"}:0), |
161 |
delay1 => $temphash{$bor}->{"delay1"} ? $temphash{$bor}->{"delay1"} : undef , |
179 |
($temphash{$bor}->{"delay2"}?$temphash{$bor}->{"delay2"}:0), |
162 |
letter1 => $temphash{$bor}->{"letter1"} ? $temphash{$bor}->{"letter1"} : "" , |
180 |
($temphash{$bor}->{"letter2"}?$temphash{$bor}->{"letter2"}:""), |
163 |
debarred1 => $temphash{$bor}->{"debarred1"} ? $temphash{$bor}->{"debarred1"} : 0 , |
181 |
($temphash{$bor}->{"debarred2"}?$temphash{$bor}->{"debarred2"}:0), |
164 |
delay2 => $temphash{$bor}->{"delay2"} ? $temphash{$bor}->{"delay2"} : undef , |
182 |
($temphash{$bor}->{"delay3"}?$temphash{$bor}->{"delay3"}:0), |
165 |
letter2 => $temphash{$bor}->{"letter2"} ? $temphash{$bor}->{"letter2"} : "" , |
183 |
($temphash{$bor}->{"letter3"}?$temphash{$bor}->{"letter3"}:""), |
166 |
debarred2 => $temphash{$bor}->{"debarred2"} ? $temphash{$bor}->{"debarred2"} : 0 , |
184 |
($temphash{$bor}->{"debarred3"}?$temphash{$bor}->{"debarred3"}:0) |
167 |
delay3 => $temphash{$bor}->{"delay3"} ? $temphash{$bor}->{"delay3"} : undef , |
185 |
); |
168 |
letter3 => $temphash{$bor}->{"letter3"} ? $temphash{$bor}->{"letter3"} : "" , |
|
|
169 |
debarred3 => $temphash{$bor}->{"debarred3"} ? $temphash{$bor}->{"debarred3"} : 0 , |
170 |
})->store(); |
186 |
} |
171 |
} |
187 |
|
172 |
|
188 |
$sth_delete_mtt->execute( $branch, $bor ); |
173 |
Koha::OverdueRules::TransportTypes->search({ overduerules_id => $overdue_rule->id })->delete(); |
189 |
for my $letternumber ( 1..3 ) { |
174 |
for my $letternumber ( 1..3 ) { |
190 |
my @mtt = $input->multi_param( "mtt${letternumber}-$bor" ); |
175 |
my @mtt = $input->multi_param( "mtt${letternumber}-$bor" ); |
191 |
next unless @mtt; |
176 |
next unless @mtt; |
192 |
for my $mtt ( @mtt ) { |
177 |
for my $mtt ( @mtt ) { |
193 |
$sth_insert_mtt->execute( $branch, $bor, $letternumber, $mtt); |
178 |
Koha::OverdueRules::TransportType->new({ |
|
|
179 |
letternumber => $letternumber, |
180 |
message_transport_type => $mtt, |
181 |
overduerules_id => $overdue_rule->id, |
182 |
})->store(); |
194 |
} |
183 |
} |
195 |
} |
184 |
} |
196 |
} |
185 |
} |
Lines 198-204
if ($op eq 'save') {
Link Here
|
198 |
} |
187 |
} |
199 |
unless ($err) { |
188 |
unless ($err) { |
200 |
for my $category_code (@rows_to_delete) { |
189 |
for my $category_code (@rows_to_delete) { |
201 |
$sth_delete->execute($branch, $category_code); |
190 |
my $overdue_rule = Koha::OverdueRules->find({ branchcode => $branch, categorycode => $category_code }); |
|
|
191 |
$overdue_rule->delete if $overdue_rule; |
202 |
} |
192 |
} |
203 |
$template->param(datasaved => 1); |
193 |
$template->param(datasaved => 1); |
204 |
$input_saved = 1; |
194 |
$input_saved = 1; |
Lines 247-255
for my $patron_category (@patron_categories) {
Link Here
|
247 |
} |
237 |
} |
248 |
} else { |
238 |
} else { |
249 |
#getting values from table |
239 |
#getting values from table |
250 |
my $sth2=$dbh->prepare("SELECT * from overduerules WHERE branchcode=? AND categorycode=?"); |
240 |
my $overdue_rule = Koha::OverdueRules->find({ branchcode => $branch, categorycode => $patron_category->categorycode }); |
251 |
$sth2->execute($branch,$patron_category->categorycode); |
241 |
my $dat = $overdue_rule ? $overdue_rule->unblessed : {}; |
252 |
my $dat=$sth2->fetchrow_hashref; |
|
|
253 |
for my $i ( 1..3 ){ |
242 |
for my $i ( 1..3 ){ |
254 |
my %row = ( |
243 |
my %row = ( |
255 |
overduename => $patron_category->categorycode, |
244 |
overduename => $patron_category->categorycode, |
256 |
- |
|
|