|
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 |
- |
|
|