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