Bug 32673: Remove misc/load_testing/ scripts
[koha-ffzg.git] / reports / itemtypes.plugin
index e4164a5..ec2c535 100755 (executable)
@@ -5,38 +5,32 @@
 #
 # 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 <http://www.gnu.org/licenses>.
 
 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 $userbranch = '';
-    if (C4::Context->userenv && C4::Context->userenv->{'branch'}) {
-        $userbranch = C4::Context->userenv->{'branch'};
-    }
-    $template->param( branchloop => GetBranchesLoop($userbranch) );
     return $template;
 }
 
@@ -46,58 +40,34 @@ sub calculate {
        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;
@@ -108,7 +78,6 @@ sub calculate {
        $globalline{loopitemtype} = \@results;
        $globalline{total} = $grantotal;
        $globalline{branch} = $branch;
-       $globalline{branchname} = GetBranchName($branch);
        push @mainloop,\%globalline;
        return \@mainloop;
 }