Bugzilla – Attachment 69406 Details for
Bug 19669
Remove deprecated checkouts by patron category report
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 19669: Remove deprecated checkouts by patron category report
Bug-19669-Remove-deprecated-checkouts-by-patron-ca.patch (text/plain), 11.94 KB, created by
Dilan Johnpullé
on 2017-11-28 00:10:35 UTC
(
hide
)
Description:
Bug 19669: Remove deprecated checkouts by patron category report
Filename:
MIME Type:
Creator:
Dilan Johnpullé
Created:
2017-11-28 00:10:35 UTC
Size:
11.94 KB
patch
obsolete
>From ac25813ed8b6689c8be23ce5198a9df7be600c2b Mon Sep 17 00:00:00 2001 >From: Owen Leonard <oleonard@myacpl.org> >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é <dilan@calyx.net.au> >--- > .../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' %] >-<title>Koha › Reports › Checkouts by patron category</title> >-[% INCLUDE 'doc-head-close.inc' %] >-</head> >-<body id="rep_issues_by_borrower_category" class="rep"> >-[% INCLUDE 'header.inc' %] >-[% INCLUDE 'cat-search.inc' %] >- >-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> › <a href="/cgi-bin/koha/reports/reports-home.pl">Reports</a> [% IF ( do_it ) %]› <a href="/cgi-bin/koha/reports/manager.pl?report_name=issues_by_borrower_category">Checkouts by patron category</a> › Results[% ELSE %]› Checkouts by patron category[% END %]</div> >- >-<div id="doc3" class="yui-t2"> >- >- <div id="bd"> >- <div id="yui-main"> >- <div class="yui-b"> >- >-[% IF ( do_it ) %] >-[% FOREACH mainloo IN mainloop %] >- <h1>Checkouts by patron category [% IF ( mainloo.borrower_category ) %] for category = [% mainloo.borrower_category %][% END %]</h1> >- <table> >- <tr> >- <th> </th> >- [% FOREACH categorycodeloo IN mainloo.categorycodeloop %] >- <th>[% categorycodeloo.categorycode %]</th> >- [% END %] >- <th>TOTAL</th> >- </tr> >- [% FOREACH loopborrowertyp IN mainloo.loopborrowertype %] >- <tr> >- [% IF ( loopborrowertyp.hilighted ) %]<td class="hilighted">[% ELSE %]<td>[% END %] >- [% loopborrowertyp.itemtype %]</td> >- [% FOREACH loopitemtyp IN loopborrowertyp.loopitemtype %] >- [% IF ( loopitemtyp.hilighted ) %]<td>[% ELSE %]<td>[% END %] >- [% loopitemtyp.issues %] >- </td> >- [% END %] >- [% IF ( loopborrowertyp.hilighted ) %]<td>[% ELSE %]<td>[% END %] >- [% loopborrowertyp.totalitemtype %] >- </td> >- </tr> >- [% END %] >- <tr> >- <th>TOTAL</th> >- [% FOREACH loopborrowertota IN mainloo.loopborrowertotal %] >- <th> >- [% loopborrowertota.issues %] >- </th> >- [% END %] >- <th>[% mainloo.grantotal %]</th> >- </tr> >- </table> >-[% END %] >-[% ELSE %] >- <form method="post" action="/cgi-bin/koha/reports/manager.pl"> >- <fieldset class="rows"> >- <legend>Checkouts by patron category</legend> >- <ol> >- <li> >- <label for="borrowercategory">Select a borrower category</label> >- <select name="value" id="borrowercategory"> >- <option value="">Any Category code</option> >- [%- FOREACH patron_category IN patron_categories %] >- <option value="[% patron_category.categorycode %]" >[% patron_category.description %]</option> >- [%- END %] >- </select> >- </li> >- <li> >- <label for="branch">Select a library:</label> >- <select name="value" size="1" id="branch"> >- <option value=""></option> >- [%- FOREACH l IN Branches.all() %] >- <option value="[% l.branchcode %]">[% l.branchname %]</option> >- [%- END %] >- </select> >- </li> >- </ol> >- </fieldset> >- <fieldset class="action"><input type="submit" value="Submit" /> >- <input type="hidden" name="report_name" value="[% report_name %]" /> >- <input type="hidden" name="do_it" value="1" /> >- </fieldset> >- </form> >-[% END %] >- >-</div> >-</div> >-<div class="yui-b"> >-[% INCLUDE 'reports-menu.inc' %] >-</div> >-</div> >-[% 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 <http://www.gnu.org/licenses>. >- >-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
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 19669
:
69246
|
69406
|
70029
|
70030