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