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