-# warn "filtres ".@filters[0];
-# warn "filtres ".@filters[1];
-# warn "filtres ".@filters[2];
-# warn "filtres ".@filters[3];
-
- $linefilter[0] = @$filters[0] if ($line =~ /datetime/ ) ;
- $linefilter[1] = @$filters[1] if ($line =~ /datetime/ ) ;
- $linefilter[0] = @$filters[2] if ($line =~ /category/ ) ;
- $linefilter[0] = @$filters[3] if ($line =~ /itemtype/ ) ;
- $linefilter[0] = @$filters[4] if ($line =~ /branch/ ) ;
-# $linefilter[0] = @$filters[11] if ($line =~ /sort2/ ) ;
- $linefilter[0] = @$filters[5] if ($line =~ /sort1/ ) ;
- $linefilter[0] = @$filters[6] if ($line =~ /sort2/ ) ;
-#warn "filtre lignes".$linefilter[0]." ".$linefilter[1];
-#
- my @colfilter ;
- $colfilter[0] = @$filters[0] if ($column =~ /datetime/) ;
- $colfilter[1] = @$filters[1] if ($column =~ /datetime/) ;
- $colfilter[0] = @$filters[2] if ($column =~ /category/) ;
- $colfilter[0] = @$filters[3] if ($column =~ /itemtype/) ;
- $colfilter[0] = @$filters[4] if ($column =~ /branch/ ) ;
- $colfilter[0] = @$filters[5] if ($column =~ /sort1/ ) ;
- $colfilter[0] = @$filters[6] if ($column =~ /sort2/ ) ;
-#warn "filtre col ".$colfilter[0]." ".$colfilter[1];
-
-# 1st, loop rows.
- my $linefield;
- if (($line =~/datetime/) and ($dsp == 1)) {
- #Display by day
- $linefield .="dayname($line)";
- } elsif (($line=~/datetime/) and ($dsp == 2)) {
- #Display by Month
- $linefield .="monthname($line)";
- } elsif (($line=~/datetime/) and ($dsp == 3)) {
- #Display by Year
- $linefield .="Year($line)";
- } elsif ($line=~/datetime/) {
- $linefield .= 'date_format(`datetime`,"%Y-%m-%d")';
+ $debug and warn "filtres ". join "|", @filters;
+ my ($colsource, $linesource);
+ $linefilter[1] = @$filters[1] if ($line =~ /datetime/);
+ $linefilter[0] = ($line =~ /datetime/) ? @$filters[0] :
+ ($line =~ /category/) ? @$filters[2] :
+ ($line =~ /itemtype/) ? @$filters[3] :
+ ($line =~ /branch/ ) ? @$filters[4] :
+ ($line =~ /ccode/ ) ? @$filters[5] :
+ ($line =~ /location/) ? @$filters[6] :
+ ($line =~ /sort1/ ) ? @$filters[9] :
+ ($line =~ /sort2/ ) ? @$filters[10] : undef ;
+ if ($line =~ /ccode/ or $line =~ /location/) {
+ $linesource = 'items';
+ }
+
+ my @colfilter;
+ $colfilter[1] = @$filters[1] if ($column =~ /datetime/);
+ $colfilter[0] = ($column =~ /datetime/) ? @$filters[0] :
+ ($column =~ /category/) ? @$filters[2] :
+ ($column =~ /itemtype/) ? @$filters[3] :
+ ($column =~ /branch/ ) ? @$filters[4] :
+ ($column =~ /ccode/ ) ? @$filters[5] :
+ ($column =~ /location/) ? @$filters[6] :
+ ($column =~ /sort1/ ) ? @$filters[9] :
+ ($column =~ /sort1/ ) ? @$filters[10] : undef ;
+ if ($column =~ /ccode/ or $column =~ /location/) {
+ $colsource = 'items';
+ }
+# 1st, loop rows.
+ my $linefield;
+ if ($line =~ /datetime/) {
+ # by Day, Month or Year (1,2,3 respectively)
+ $linefield = ($dsp == 1) ? " dayname($line)" :
+ ($dsp == 2) ? "monthname($line)" :
+ ($dsp == 3) ? " Year($line)" :
+ 'date_format(`datetime`,"%Y-%m-%d")'; # Probably should be left alone or passed through C4::Dates