Bug 9044: DBRev 3.13.00.036
[koha.git] / reports / issues_by_borrower_category.plugin
old mode 100644 (file)
new mode 100755 (executable)
index c767bb8..806ff7c
@@ -1,6 +1,5 @@
 #!/usr/bin/perl
 
-# $Id$
 
 # Copyright 2000-2002 Katipo Communications
 #
 # 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 C4::Auth;
 use CGI;
 use C4::Context;
-use HTML::Template;
 use C4::Search;
 use C4::Output;
 use C4::Koha;
+use C4::Members;
+
+use C4::Branch; # GetBranches
 
 =head1 NAME
 
@@ -61,27 +62,22 @@ the hashes are then translated to hash / arrays to be returned to manager.pl & s
 =cut
 
 sub set_parameters {
-       my ($template) = @_;
-       my $dbh = C4::Context->dbh;
-       my $branches=getbranches();
-       my @branches;
-       my @select_branch;
-       my %select_branches;
-       push @select_branch,"";
-       $select_branches{""} = "";
-       foreach my $branch (keys %$branches) {
-               push @select_branch, $branch;
-               $select_branches{$branch} = $branches->{$branch}->{'branchname'};
-       }
-       my $CGIbranch=CGI::scrolling_list( -name     => 'value',
-                               -id => 'value',
-                               -values   => \@select_branch,
-                               -labels   => \%select_branches,
-                               -size     => 1,
-                               -multiple => 0 );
-       $template->param(CGIbranch => $CGIbranch);
-       return $template;
+    my ($template) = @_;
+
+    $template->param( branchloop => GetBranchesLoop() );
+  
+    my ($codes,$labels)=GetborCatFromCatType(undef,undef);
+    my @borcatloop;
+    foreach my $thisborcat (sort keys %$labels) {
+        push @borcatloop, {
+                          value       => $thisborcat,
+                          description => $labels->{$thisborcat},
+                          };
+    }
+    $template->param(loopcategories => \@borcatloop);
+    return $template;
 }
+
 sub calculate {
        my ($parameters) = @_;
        my @results =();
@@ -100,13 +96,15 @@ sub calculate {
                $itemtypes{$itemtype}->{total} = 0;
        }
 # now, parse each category. Before filling the result array, fill it with 0 to have every itemtype column.
-       my $sth = $dbh->prepare("SELECT itemtype, count( * )
+       my $strsth="SELECT itemtype, count( * )
                                FROM issues, borrowers, biblioitems, items
                                WHERE issues.borrowernumber = borrowers.borrowernumber 
                                        AND items.itemnumber = issues.itemnumber 
                                        AND biblioitems.biblionumber = items.biblionumber 
-                                       AND borrowers.categorycode = ?
-                               GROUP BY biblioitems.itemtype");
+                                       AND borrowers.categorycode = ?";
+       $strsth.= " AND borrowers.branchcode = ".$dbh->quote($branch) if ($branch);
+       $strsth .= " GROUP BY biblioitems.itemtype";
+       my $sth = $dbh->prepare($strsth);
        my $sthcategories = $dbh->prepare("select categorycode,description from categories");
        $sthcategories->execute;
        my %borrowertype;
@@ -226,4 +224,4 @@ sub calculate {
        return \@mainloop;
 }
 
-1;
\ No newline at end of file
+1;