X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=reports%2Fbor_issues_top.pl;h=9618faf3a4b5410ceeeb478ef38735471ef574a7;hb=5d6c092921919526ade501facb1220f8a108a08f;hp=bb17d0ae5c387403b932e17681531c7b6ec037c1;hpb=ceefe1ad6a7fd47fea70ddb179dfc5764626b80d;p=koha_fer diff --git a/reports/bor_issues_top.pl b/reports/bor_issues_top.pl index bb17d0ae5c..9618faf3a4 100755 --- a/reports/bor_issues_top.pl +++ b/reports/bor_issues_top.pl @@ -13,11 +13,12 @@ # WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR # A PARTICULAR PURPOSE. See the GNU General Public License for more details. # -# You should have received a copy of the GNU General Public License along with -# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; +#use warnings; FIXME - Bug 2505 use CGI; use C4::Auth; use C4::Output; @@ -54,19 +55,17 @@ foreach ( @filters[0..3] ) { } my $output = $input->param("output"); my $basename = $input->param("basename"); -# my $mime = $input->param("MIME"); my ($template, $borrowernumber, $cookie) = get_template_and_user({template_name => $fullreportname, query => $input, type => "intranet", authnotrequired => 0, - flagsrequired => {reports => 1}, + flagsrequired => {reports => '*'}, debug => 1, }); our $sep = $input->param("sep"); $sep = "\t" if ($sep eq 'tabulation'); $template->param(do_it => $do_it, - DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(), ); if ($do_it) { # Displaying results @@ -102,14 +101,14 @@ if ($do_it) { print join($sep, map {$_->{totalcol}} @$cols); print $sep.@$results[0]->{total}; } - exit(1); + exit; } my $dbh = C4::Context->dbh; my @values; # here each element returned by map is a hashref, get it? -my @mime = ( map { {type =>$_} } (split /[;:]/,C4::Context->preference("MIME")) ); +my @mime = ( map { {type =>$_} } (split /[;:]/, 'CSV') ); # FIXME translation my $delims = GetDelimiterChoices; my $branches = GetBranches; my @branchloop; @@ -151,7 +150,8 @@ output_html_with_http_headers $input, $cookie, $template->output; sub calculate { - my ($line, $column, $filters) = @_; + my ($limit, $column, $filters) = @_; + my @loopcol; my @loopline; my @looprow; @@ -209,11 +209,6 @@ sub calculate { } elsif ($column =~ /sort2/ ) { # $colfilter[0] = @$filters[11]; } - # $colfilter[0] = @$filters[7] if ($column =~ /timestamp/ ) ; FIXME This can't be right. - # $colfilter[0] = @$filters[8] if ($column =~ /timestamp/ ) ; FIXME - # $colfilter[0] = @$filters[9] if ($column =~ /timestamp/ ) ; FIXME Only this line would have effect. - - #warn "filtre col ".$colfilter[0]." ".$colfilter[1]; # loop cols. if ($column eq "Day") { @@ -281,37 +276,25 @@ sub calculate { $columns{''} = 1; } - #Initialization of cell values..... - my @table; - for (my $i=1;$i<=$line;$i++) { - foreach (keys %columns) { -# warn " init table : $row->{rowtitle} / $_ "; - $table[$i]->{ $_ || "total" }->{'name'}=0; - } - } - my $strcalc ; # Processing average loanperiods $strcalc .= "SELECT CONCAT(borrowers.surname , \",\\t\",borrowers.firstname), COUNT(*) AS RANK, borrowers.borrowernumber AS ID"; $strcalc .= " , $colfield " if ($colfield); $strcalc .= " FROM `old_issues` - LEFT JOIN borrowers ON old_issues.borrowernumber=borrowers.borrowernumber - LEFT JOIN items ON items.itemnumber=old_issues.itemnumber - LEFT JOIN biblioitems ON (biblioitems.biblioitemnumber=items.biblioitemnumber) - WHERE 1"; + LEFT JOIN borrowers USING(borrowernumber) + LEFT JOIN items USING(itemnumber) + LEFT JOIN biblioitems USING(biblioitemnumber) + WHERE old_issues.borrowernumber IS NOT NULL + "; my @filterterms = ( - 'old_issues.timestamp >', - 'old_issues.timestamp <', + 'old_issues.issuedate >', + 'old_issues.issuedate <', 'old_issues.returndate >', 'old_issues.returndate <', 'old_issues.branchcode like', 'biblioitems.itemtype like', 'borrowers.categorycode like', - 'dayname(old_issues.timestamp) like', - 'monthname(old_issues.timestamp) like', - 'monthname(old_issues.timestamp) like', - 'year(old_issues.timestamp) like', ); foreach ((@$filters)[0..9]) { my $term = shift @filterterms; # go through both arrays in step @@ -319,16 +302,11 @@ sub calculate { s/\*/%/g; $strcalc .= " AND $term '$_' "; } - $strcalc .= " GROUP BY borrowers.borrowernumber"; $strcalc .= ", $colfield" if ($column); $strcalc .= " ORDER BY RANK DESC"; $strcalc .= ",$colfield " if ($colfield); -# my $max; -# if (@loopcol) { -# $max = $line*@loopcol; -# } else { $max=$line;} -# $strcalc .= " LIMIT 0,$max"; + $strcalc .= " LIMIT $limit" if ($limit); $debug and print DEBUG "(old_issues) SQL : $strcalc\n"; my $dbcalc = $dbh->prepare($strcalc); @@ -413,7 +391,6 @@ sub calculate { # the foot (totals by borrower type) $globalline{loopfooter} = []; $globalline{total}= $grantotal; # FIXME: useless - $globalline{line} = $line; $globalline{column} = $column; return [\%globalline]; # reference to a 1 element array: that element is a hashref }