-
- $linefilter = @$filters[0] if ($line =~ /categorycode/ ) ;
- $linefilter = @$filters[1] if ($line =~ /zipcode/ ) ;
- $linefilter = @$filters[2] if ($line =~ /branchcode/ ) ;
- $linefilter = @$filters[5] if ($line =~ /sort1/ ) ;
- $linefilter = @$filters[6] if ($line =~ /sort2/ ) ;
-#
- my $colfilter = "";
- $colfilter = @$filters[0] if ($column =~ /categorycode/);
- $colfilter = @$filters[1] if ($column =~ /zipcode/);
- $colfilter = @$filters[2] if ($column =~ /branchcode/);
- $colfilter = @$filters[5] if ($column =~ /sort1/);
- $colfilter = @$filters[6] if ($column =~ /sort2/);
-
- my @loopfilter;
- for (my $i=0;$i<=6;$i++) {
- my %cell;
- if ( @$filters[$i] ) {
- $cell{filter} .= @$filters[$i];
- $cell{crit} .="Cat Code " if ($i==0);
- $cell{crit} .="Zip Code" if ($i==1);
- $cell{crit} .="Branchcode" if ($i==2);
- $cell{crit} .="Date of Birth" if ($i==3);
- $cell{crit} .="Date of Birth" if ($i==4);
- $cell{crit} .="Sort1" if ($i==5);
- $cell{crit} .="Sort2" if ($i==6);
- push @loopfilter, \%cell;
- }
- }
- if ($status) {
- push @loopfilter,{crit=>"Status",filter=>$status}
- }
-
- if ($activity) {
- push @loopfilter,{crit=>"Activity",filter=>$activity};
- }
+ # Filters
+ my $linefilter;
+ if ( $line =~ /categorycode/ ) { $linefilter = @$filters[0]; }
+ elsif ( $line =~ /zipcode/ ) { $linefilter = @$filters[1]; }
+ elsif ( $line =~ /branchcode/ ) { $linefilter = @$filters[2]; }
+ elsif ( $line =~ /sex/ ) { $linefilter = @$filters[5]; }
+ elsif ( $line =~ /sort1/ ) { $linefilter = @$filters[6]; }
+ elsif ( $line =~ /sort2/ ) { $linefilter = @$filters[7]; }
+ elsif ( $line =~ /^patron_attr\.(.*)$/ ) { $linefilter = $attr_filters->{$1}; }
+ else { $linefilter = ''; }
+
+ my $colfilter;
+ if ( $column =~ /categorycode/ ) { $colfilter = @$filters[0]; }
+ elsif ( $column =~ /zipcode/ ) { $colfilter = @$filters[1]; }
+ elsif ( $column =~ /branchcode/) { $colfilter = @$filters[2]; }
+ elsif ( $column =~ /sex/) { $colfilter = @$filters[5]; }
+ elsif ( $column =~ /sort1/) { $colfilter = @$filters[6]; }
+ elsif ( $column =~ /sort2/) { $colfilter = @$filters[7]; }
+ elsif ( $column =~ /^patron_attr\.(.*)$/) { $colfilter = $attr_filters->{$1}; }
+ else { $colfilter = ''; }
+
+ my @loopfilter;
+ foreach my $i (0 .. scalar @$filters) {
+ my %cell;
+ if ( @$filters[$i] ) {
+ if ( $i == 0) { $cell{crit} = "Cat code"; }
+ elsif ( $i == 1 ) { $cell{crit} = "ZIP/Postal code"; }
+ elsif ( $i == 2 ) { $cell{crit} = "Branch code"; }
+ elsif ( $i == 3 ||
+ $i == 4 ) { $cell{crit} = "Date of birth"; }
+ elsif ( $i == 5 ) { $cell{crit} = "Sex"; }
+ elsif ( $i == 6 ) { $cell{crit} = "Sort1"; }
+ elsif ( $i == 7 ) { $cell{crit} = "Sort2"; }
+ else { $cell{crit} = "Unknown"; }
+
+ push @loopfilter, \%cell;
+ }
+ }
+ foreach my $type (keys %$attr_filters) {
+ if($attr_filters->{$type}) {
+ push @loopfilter, {
+ crit => "Attribute $type",
+ filter => $attr_filters->{$type}
+ }
+ }
+ }
+
+ my @branchcodes = Koha::Libraries->search->get_column('branchcode');
+ ($status ) and push @loopfilter,{crit=>"Status", filter=>$status };
+ ($activity) and push @loopfilter,{crit=>"Activity",filter=>$activity};