From 8c479634da8947b81da62ea2901dae1064e9dd2c 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 The checkouts by patron category report has been hidden and considered deprecated since 2004. This patch removes it. To test, apply the patch and confirm that nothing at all seems to have changed and everything feels fine. --- .../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.1.4