X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=reports%2Fitemtypes.plugin;h=ec2c535182d95b88ef37160d7c2ca49be75da05d;hb=3bf31ae4d4dec818c48b4833e128d0a49c3419f3;hp=813435440beff3cc5589311db34715dc8d9efed5;hpb=9c06057f21f1cdbc0a87ecbbdf84306e51e3d6a0;p=koha-ffzg.git diff --git a/reports/itemtypes.plugin b/reports/itemtypes.plugin index 813435440b..ec2c535182 100755 --- a/reports/itemtypes.plugin +++ b/reports/itemtypes.plugin @@ -5,114 +5,69 @@ # # This file is part of Koha. # -# Koha is free software; you can redistribute it and/or modify it under the -# terms of the GNU General Public License as published by the Free Software -# Foundation; either version 2 of the License, or (at your option) any later -# version. +# Koha is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. # -# Koha is distributed in the hope that it will be useful, but WITHOUT ANY -# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR -# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# Koha is distributed in the hope that it will be useful, but +# WITHOUT ANY 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., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +# You should have received a copy of the GNU General Public License +# along with Koha; if not, see . use strict; use C4::Auth; -use CGI; +use CGI qw ( -utf8 ); use C4::Context; use C4::Search; use C4::Output; use C4::Koha; -use C4::Branch; # GetBranches =head1 =cut sub set_parameters { - my ($template) = @_; - my $dbh = C4::Context->dbh; - my $branches=GetBranches(); - my @branches; - my $default; - my @select_branch; - my %select_branches; - push @select_branch,""; - $select_branches{""} = ""; - for my $branch (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %$branches) { - push @select_branch, $branch; - $select_branches{$branch} = $branches->{$branch}->{'branchname'}; - $default = C4::Context->userenv->{'branch'} if (C4::Context->userenv && C4::Context->userenv->{'branch'}); - } - my $CGIbranch=CGI::scrolling_list( -name => 'value', - -id => 'value', - -values => \@select_branch, - -labels => \%select_branches, - -size => 1, - -multiple => 0, - -default => $default, ); - $template->param(CGIbranch => $CGIbranch); - return $template; + my ($template) = @_; + return $template; } + sub calculate { my ($parameters) = @_; my @results =(); my $branch = @$parameters[0]; my $dbh = C4::Context->dbh; my $sth; - if ($branch) { - if (C4::Context->preference('item-level_itypes')) { - $sth = $dbh->prepare(" - SELECT description, items.itype as itemtype, COUNT(*) AS total - FROM itemtypes,items - WHERE items.itype=itemtypes.itemtype - AND items.holdingbranch=? - GROUP BY items.itype - ORDER BY itemtypes.description"); - - } - else { - $sth = $dbh->prepare(" - SELECT description, biblioitems.itemtype, COUNT(*) AS total - FROM itemtypes, biblioitems, items - WHERE biblioitems.itemtype=itemtypes.itemtype - AND items.biblioitemnumber=biblioitems.biblioitemnumber - AND items.holdingbranch=? - GROUP BY biblioitems.itemtype - ORDER BY itemtypes.description"); - } - $sth->execute($branch); - } else { - if (C4::Context->preference('item-level_itypes')) { - $sth = $dbh->prepare(" - SELECT description,items.itype AS itemtype, COUNT(*) AS total - FROM itemtypes,items - WHERE items.itype=itemtypes.itemtype - GROUP BY items.itype - ORDER BY itemtypes.description"); - } - else { - $sth = $dbh->prepare("SELECT description, biblioitems.itemtype, COUNT(*) AS total - FROM itemtypes, biblioitems,items - WHERE biblioitems.itemtype=itemtypes.itemtype - AND biblioitems.biblioitemnumber = items.biblioitemnumber - GROUP BY biblioitems.itemtype - ORDER BY itemtypes.description"); - } - $sth->execute; - } - my ($description,$biblioitems,$total); + if ( C4::Context->preference('item-level_itypes') ) { + $sth = $dbh->prepare( q| + SELECT itemtypes.itemtype, description, COUNT(*) AS total + FROM itemtypes, items + WHERE items.itype=itemtypes.itemtype + | . ( $branch ? q| AND items.holdingbranch=? | : () ) . q| + GROUP BY itemtypes.itemtype, description, items.itype + ORDER BY itemtypes.description + |); + } + else { + $sth = $dbh->prepare( q| + SELECT itemtypes.itemtype, description, COUNT(*) AS total + FROM itemtypes, biblioitems, items + WHERE biblioitems.itemtype=itemtypes.itemtype + AND items.biblioitemnumber=biblioitems.biblioitemnumber + | . ( $branch ? q| AND items.holdingbranch=? | : () ) . q| + GROUP BY itemtypes.itemtype, description + ORDER BY itemtypes.description + |); + } + $sth->execute($branch || ()); + my ($itemtype, $description,$total); my $grantotal = 0; my $count = 0; - while (($description,$biblioitems,$total) = $sth->fetchrow) { + while (($itemtype, $description,$total) = $sth->fetchrow) { my %line; - if($count % 2){ - $line{toggle} = 1; - } else { - $line{toggle} = 0; - } - $line{itemtype} = $description; + $line{itemtype} = $itemtype; $line{count} = $total; $grantotal += $total; push @results,\%line; @@ -123,7 +78,6 @@ sub calculate { $globalline{loopitemtype} = \@results; $globalline{total} = $grantotal; $globalline{branch} = $branch; - $globalline{branchname} = GetBranchName($branch); push @mainloop,\%globalline; return \@mainloop; }