View | Details | Raw Unified | Return to bug 7678
Collapse All | Expand All

(-)a/reports/borrowers_stats.pl (-8 / +27 lines)
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
- 

Return to bug 7678