From f2ab9a716dca79f125f7e4eabff968937e4516b0 Mon Sep 17 00:00:00 2001 From: Owen Leonard Date: Tue, 21 Nov 2017 13:56:31 +0000 Subject: [PATCH] Bug 19669: Remove deprecated checkouts by patron category report MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Patch applies. Reports and general OPAC and staff client functionality is intact. Signed-off-by: Dilan Johnpullé Signed-off-by: Kyle M Hall --- .../modules/reports/issues_by_borrower_category.tt | 92 --------- reports/issues_by_borrower_category.plugin | 218 --------------------- 2 files changed, 310 deletions(-) delete mode 100644 koha-tmpl/intranet-tmpl/prog/en/modules/reports/issues_by_borrower_category.tt delete mode 100755 reports/issues_by_borrower_category.plugin diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/issues_by_borrower_category.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/issues_by_borrower_category.tt deleted file mode 100644 index 6fcd0d1..0000000 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/issues_by_borrower_category.tt +++ /dev/null @@ -1,92 +0,0 @@ -[% USE Branches %] -[% INCLUDE 'doc-head-open.inc' %] -Koha › Reports › Checkouts by patron category -[% INCLUDE 'doc-head-close.inc' %] - - -[% INCLUDE 'header.inc' %] -[% INCLUDE 'cat-search.inc' %] - - - -
- -
-
-
- -[% IF ( do_it ) %] -[% FOREACH mainloo IN mainloop %] -

Checkouts by patron category [% IF ( mainloo.borrower_category ) %] for category = [% mainloo.borrower_category %][% END %]

- - - - [% FOREACH categorycodeloo IN mainloo.categorycodeloop %] - - [% END %] - - - [% FOREACH loopborrowertyp IN mainloo.loopborrowertype %] - - [% IF ( loopborrowertyp.hilighted ) %] - [% FOREACH loopitemtyp IN loopborrowertyp.loopitemtype %] - [% IF ( loopitemtyp.hilighted ) %] - [% END %] - [% IF ( loopborrowertyp.hilighted ) %] - - [% END %] - - - [% FOREACH loopborrowertota IN mainloo.loopborrowertotal %] - - [% END %] - - -
 [% categorycodeloo.categorycode %]TOTAL
[% ELSE %][% END %] - [% loopborrowertyp.itemtype %][% ELSE %][% END %] - [% loopitemtyp.issues %] - [% ELSE %][% END %] - [% loopborrowertyp.totalitemtype %] -
TOTAL - [% loopborrowertota.issues %] - [% mainloo.grantotal %]
-[% END %] -[% ELSE %] -
-
- Checkouts by patron category -
    -
  1. - - -
  2. -
  3. - - -
  4. -
-
-
- - -
-
-[% END %] - -
-
-
-[% INCLUDE 'reports-menu.inc' %] -
-
-[% INCLUDE 'intranet-bottom.inc' %] diff --git a/reports/issues_by_borrower_category.plugin b/reports/issues_by_borrower_category.plugin deleted file mode 100755 index 1c2d1d1..0000000 --- a/reports/issues_by_borrower_category.plugin +++ /dev/null @@ -1,218 +0,0 @@ -#!/usr/bin/perl - - -# Copyright 2000-2002 Katipo Communications -# -# 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 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. -# -# 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 qw ( -utf8 ); -use C4::Context; -use C4::Search; -use C4::Output; -use C4::Koha; -use C4::Members; - -use Koha::Patron::Categories; - -=head1 NAME - -plugin that shows a table with issues for categories and borrower - -=head1 DESCRIPTION - -this result is quite complex to build... -the 2D array contains : -* item types on lines -* borrowers types on rows - -If no issues are done, the array must be filled by 0 anyway. -So, the script works as this : -1- parse the itemtype table to get itemtype descriptions and set itemtype total to 0 -2- for each borrower category : -** create an array with total = 0 for each itemtype defined in 1 -** calculate the total for each itemtype (SQL request) -The big hash has the following structure : -$itemtypes{itemtype} - ->{results} - ->{borrowercategorycode} => the total of issues for each cell of the table. - ->{total} => the total for the itemtype - ->{description} => the itemtype description - -the borrowertype hash contains description and total for each borrowercategory. - -the hashes are then translated to hash / arrays to be returned to manager.pl & send to the template - -=over2 - -=cut - -sub set_parameters { - my ($template) = @_; - - my $patron_categories = Koha::Patron::Categories->search_limited({}, {order_by => ['categorycode']}); - $template->param( patron_categories => $patron_categories ); - return $template; -} - -sub calculate { - my ($parameters) = @_; - my @results =(); -# extract parameters - my $borrower_category = @$parameters[0]; - my $branch = @$parameters[1]; - my $dbh = C4::Context->dbh; -# build the SQL query & execute it - -# 1st, loop every itemtypes. - my $sth = $dbh->prepare("select itemtype,description from itemtypes"); - $sth->execute; - my %itemtypes; - while (my ($itemtype,$description) = $sth->fetchrow) { - $itemtypes{$itemtype}->{description} = $description; - $itemtypes{$itemtype}->{total} = 0; - } -# now, parse each category. Before filling the result array, fill it with 0 to have every itemtype column. - 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 = ?"; - $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; - my @categorycodeloop; - my $categorycode; - my $description; - my $borrower_categorycode =0; - my @mainloop; - my @itemtypeloop; - my @loopborrowertype; - my @loopborrowertotal; - my %globalline; - my $hilighted=-1; - my $grantotal =0; - #If no Borrower-category selected.... - # Print all - if (!$borrower_category) { - while ( ($categorycode,$description) = $sthcategories->fetchrow) { - $borrowertype{$categorycode}->{description} = $description; - $borrowertype{$categorycode}->{total} = 0; - my %categorycode; - $categorycode{categorycode} = $description; - push @categorycodeloop,\%categorycode; - foreach my $itemtype (keys %itemtypes) { - $itemtypes{$itemtype}->{results}->{$categorycode} = 0; - } - $sth->execute($categorycode); - while (my ($itemtype, $total) = $sth->fetchrow) { - $itemtypes{$itemtype}->{results}->{$categorycode} = $total; - $borrowertype{$categorycode}->{total} += $total; - $itemtypes{$itemtype}->{total} += $total; - $grantotal += $total; - } - } - # build the result - foreach my $itemtype (keys %itemtypes) { - my @loopitemtype; - $sthcategories->execute; - while (($categorycode,$description) = $sthcategories->fetchrow ) { - my %cell; - $cell{issues} = $itemtypes{$itemtype}->{results}->{$categorycode}; - #printf stderr "%s ",$categorycode; - push @loopitemtype,\%cell; - } - #printf stderr "\n"; - my %line; - $line{loopitemtype} = \@loopitemtype; - if ($itemtypes{$itemtype}->{description}) { - $line{itemtype} = $itemtypes{$itemtype}->{description}; - } else { - $line{itemtype} = "$itemtype (no entry in itemtype table)"; - } - $line{hilighted} = 1 if $hilighted eq 1; - $line{totalitemtype} = $itemtypes{$itemtype}->{total}; - $hilighted = -$hilighted; - push @loopborrowertype, \%line; - } - $sthcategories->execute; - while (($categorycode,$description) = $sthcategories->fetchrow ) { - my %line; - $line{issues} = $borrowertype{$categorycode}->{total}; - push @loopborrowertotal, \%line; - } - } else { - # A Borrower_category has been selected - # extracting corresponding data - $borrowertype{$categorycode}->{description} = $borrower_category; - $borrowertype{$categorycode}->{total} = 0; - while (($categorycode,$description) = $sthcategories->fetchrow) { - if ($description =~ /$borrower_category/ ) { - $borrower_categorycode = $categorycode; - my %cc; - $cc{categorycode} = $description; - push @categorycodeloop,\%cc; - foreach my $itemtype (keys %itemtypes) { - $itemtypes{$itemtype}->{results}->{$categorycode} = 0; - } - $sth->execute($categorycode); - while (my ($itemtype, $total) = $sth->fetchrow) { - $itemtypes{$itemtype}->{results}->{$categorycode} = $total; - $borrowertype{$categorycode}->{total} += $total; - $itemtypes{$itemtype}->{total} += $total; - $grantotal +=$total; - } - } - } - # build the result - foreach my $itemtype (keys %itemtypes) { - my @loopitemtype; - my %cell; - $cell{issues}=$itemtypes{$itemtype}->{results}->{$borrower_categorycode}; - push @loopitemtype, \%cell; - my %line; - $line{loopitemtype} = \@loopitemtype; - if ($itemtypes{$itemtype}->{description}) { - $line{itemtype} = $itemtypes{$itemtype}->{description}; - } else { - $line{itemtype} = "$itemtype (no entry in itemtype table)"; - } - $line{hilighted} = 1 if $hilighted eq 1; - $line{totalitemtype} = $itemtypes{$itemtype}->{total}; - $hilighted = -$hilighted; - push @loopborrowertype, \%line; - } - my %cell; - $cell{issues} = $borrowertype{$borrower_categorycode}->{total}; - push @loopborrowertotal, \%cell; - } - # the header of the table - $globalline{loopborrowertype} = \@loopborrowertype; - # the core of the table - $globalline{categorycodeloop} = \@categorycodeloop; - # the foot (totals by borrower type) - $globalline{loopborrowertotal} = \@loopborrowertotal; - $globalline{grantotal}= $grantotal; - push @mainloop,\%globalline; - return \@mainloop; -} - -1; -- 2.10.2