Lines 30-35
use C4::Acquisition;
Link Here
|
30 |
use C4::Output; |
30 |
use C4::Output; |
31 |
use C4::Reports; |
31 |
use C4::Reports; |
32 |
use C4::Circulation; |
32 |
use C4::Circulation; |
|
|
33 |
use C4::Members::AttributeTypes; |
33 |
use C4::Dates qw/format_date format_date_in_iso/; |
34 |
use C4::Dates qw/format_date format_date_in_iso/; |
34 |
use Date::Calc qw( |
35 |
use Date::Calc qw( |
35 |
Today |
36 |
Today |
Lines 181-186
sub calculate {
Link Here
|
181 |
# extract parameters |
182 |
# extract parameters |
182 |
my $dbh = C4::Context->dbh; |
183 |
my $dbh = C4::Context->dbh; |
183 |
|
184 |
|
|
|
185 |
# check parameters |
186 |
my @valid_names = qw(categorycode zipcode branchcode sex sort1 sort2); |
187 |
my @attribute_types = C4::Members::AttributeTypes::GetAttributeTypes; |
188 |
if ($line =~ /^patron_attr\.(.*)/) { |
189 |
my $attribute_type = $1; |
190 |
return unless (grep {$attribute_type eq $_->{code}} @attribute_types); |
191 |
} else { |
192 |
return unless (grep /^$line$/, @valid_names); |
193 |
} |
194 |
if ($column =~ /^patron_attr\.(.*)/) { |
195 |
my $attribute_type = $1; |
196 |
return unless (grep {$attribute_type eq $_->{code}} @attribute_types); |
197 |
} else { |
198 |
return unless (grep /^$column$/, @valid_names); |
199 |
} |
200 |
return if ($digits and $digits !~ /^\d+$/); |
201 |
return if ($status and (grep /^$status$/, qw(debarred gonenoaddress lost)) == 0); |
202 |
return if ($activity and (grep /^$activity$/, qw(active nonactive)) == 0); |
203 |
|
184 |
# Filters |
204 |
# Filters |
185 |
my $linefilter; |
205 |
my $linefilter; |
186 |
given ($line) { |
206 |
given ($line) { |
Lines 207-213
sub calculate {
Link Here
|
207 |
} |
227 |
} |
208 |
|
228 |
|
209 |
my @loopfilter; |
229 |
my @loopfilter; |
210 |
for (my $i = 0; $i <= scalar @$filters; $i++) { |
230 |
foreach my $i (0 .. scalar @$filters) { |
211 |
my %cell; |
231 |
my %cell; |
212 |
if ( @$filters[$i] ) { |
232 |
if ( @$filters[$i] ) { |
213 |
if ($i == 3 or $i == 4) { |
233 |
if ($i == 3 or $i == 4) { |
Lines 249-255
sub calculate {
Link Here
|
249 |
my $linefield; |
269 |
my $linefield; |
250 |
|
270 |
|
251 |
my $line_attribute_type; |
271 |
my $line_attribute_type; |
252 |
if ($line =~/^patron_attr.(.*)$/) { |
272 |
if ($line =~/^patron_attr\.(.*)$/) { |
253 |
$line_attribute_type = $1; |
273 |
$line_attribute_type = $1; |
254 |
$line = 'borrower_attributes.attribute'; |
274 |
$line = 'borrower_attributes.attribute'; |
255 |
} |
275 |
} |
Lines 305-315
sub calculate {
Link Here
|
305 |
$column = 'borrower_attributes.attribute'; |
325 |
$column = 'borrower_attributes.attribute'; |
306 |
} |
326 |
} |
307 |
|
327 |
|
308 |
if (($column =~/zipcode/) and ($digits)) { |
328 |
if (($column =~/zipcode/) and ($digits)) { |
309 |
$colfield = "left($column,$digits)"; |
329 |
$colfield = "left($column,$digits)"; |
310 |
} else { |
330 |
} else { |
311 |
$colfield = $column; |
331 |
$colfield = $column; |
312 |
} |
332 |
} |
313 |
|
333 |
|
314 |
my $strsth2; |
334 |
my $strsth2; |
315 |
my @strparams2; # bind parameters for the query |
335 |
my @strparams2; # bind parameters for the query |
316 |
- |
|
|