[Patches] [PATCH] Fix for Bug 3431 - Catalog by itemtype report pulling from

koha-patchbot at kohaaloha.com koha-patchbot at kohaaloha.com
Tue Dec 13 22:05:34 NZDT 2011


From: Owen Leonard <oleonard at myacpl.org>
Date: Tue, 23 Aug 2011 15:33:34 -0400
Subject: [PATCH] Fix for Bug 3431 - Catalog by itemtype report pulling from
 holdingbranch

Plus several other fixes for this report no one uses:

- Clarifying titles and breadcrumbs
- Correcting terminology: branch -> library
- Sorting library select field by library name
- Displaying library name instead of code on output
- Sorting results by itemtype description
- Adding tablesorter to results

Signed-off-by: Chris Cormack <chrisc at catalyst.net.nz>
---
 .../prog/en/modules/reports/itemtypes.tt           |   38 +++++++++++++------
 reports/itemtypes.plugin                           |   20 +++++++---
 2 files changed, 40 insertions(+), 18 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/itemtypes.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/itemtypes.tt
index 65fa34e..26199e6 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/itemtypes.tt
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/reports/itemtypes.tt
@@ -1,12 +1,20 @@
 [% INCLUDE 'doc-head-open.inc' %]
-<title>Koha › Reports › Item Types</title>
+<title>Koha › Reports › Catalog by Item Types</title>
 [% INCLUDE 'doc-head-close.inc' %]
+<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
+<script type="text/javascript">
+//<![CDATA[
+$(document).ready(function() {
+	$("#itemtypest").tablesorter();
+});
+//]]>
+</script>
 </head>
 <body>
 [% 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=itemtypes">Item Types</a> › Results[% ELSE %] › Item Types[% END %]</div>
+<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=itemtypes">Catalog by Item Type</a> › Results[% ELSE %] › Catalog by Item Type[% END %]</div>
 
 <div id="doc3" class="yui-t2">
    
@@ -16,29 +24,35 @@
 
 [% IF ( do_it ) %]
 [% FOREACH mainloo IN mainloop %]
-	<h1>Reports on item types [% IF ( mainloo.branch ) %] for branch = [% mainloo.branch %][% END %]</h1>
-	<table>
+	<h1>Reports on item types [% IF ( mainloo.branchname ) %] held at [% mainloo.branchname %][% END %]</h1>
+	<table id="itemtypest">
+		<thead>
 		<tr>
 			<th>Item type</th>
-			<th>count</th>
+			<th>Count</th>
 		</tr>
+		</thead>
+		<tfoot>
+			<tr>
+				<th>TOTAL</th>
+				<th>[% mainloo.total %]</th>
+			</tr>
+		</tfoot>
+		<tbody>
 			[% FOREACH loopitemtyp IN mainloo.loopitemtype %]
 				<tr>
 					<td>[% loopitemtyp.itemtype %]</td>
 					<td>[% loopitemtyp.count %]</td>
 				</tr>
 			[% END %]
-			<tr>
-				<th>TOTAL</th>
-				<th>[% mainloo.total %]</th>
-			</tr>
+		</tbody>
 	</table>
 [% END %]
 [% ELSE %]
-
+	<h3>View a count of items held at your library grouped by item type</h3>
 	<form method="post" action="/cgi-bin/koha/reports/manager.pl?report_name=itemtypes">
-		<fieldset class="rows"><legend>View catalog group by item types</legend><ol><li><label for="value">Select a branch</label> [% CGIbranch %]
-		<span class="tip">Select none to see all branches</span></li></ol></fieldset>
+		<fieldset class="rows"><ol><li><label for="value">Select a library</label> [% CGIbranch %]
+		<span class="tip">Select none to see all libraries</span></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>
diff --git a/reports/itemtypes.plugin b/reports/itemtypes.plugin
index f543f2d..8134354 100755
--- a/reports/itemtypes.plugin
+++ b/reports/itemtypes.plugin
@@ -35,20 +35,23 @@ sub set_parameters {
 	my $dbh = C4::Context->dbh;
 	my $branches=GetBranches();
 	my @branches;
+	my $default;
 	my @select_branch;
 	my %select_branches;
 	push @select_branch,"";
 	$select_branches{""} = "";
-	foreach my $branch (keys %$branches) {
+	for my $branch (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %$branches) {
 		push @select_branch, $branch;
 		$select_branches{$branch} = $branches->{$branch}->{'branchname'};
+		$default = C4::Context->userenv->{'branch'} if (C4::Context->userenv && C4::Context->userenv->{'branch'});
 	}
 	my $CGIbranch=CGI::scrolling_list( -name     => 'value',
 				-id => 'value',
 				-values   => \@select_branch,
 				-labels   => \%select_branches,
 				-size     => 1,
-				-multiple => 0 );
+				-multiple => 0,
+				-default => $default, );
 	$template->param(CGIbranch => $CGIbranch);
 	return $template;
 }
@@ -65,7 +68,8 @@ sub calculate {
 			FROM itemtypes,items         
 		WHERE items.itype=itemtypes.itemtype         
 		AND items.holdingbranch=?            
-		GROUP BY  items.itype");
+		GROUP BY items.itype
+		ORDER BY itemtypes.description");
 
 		}
 		else {
@@ -75,7 +79,8 @@ sub calculate {
 		WHERE biblioitems.itemtype=itemtypes.itemtype 
 		AND items.biblioitemnumber=biblioitems.biblioitemnumber
 		AND items.holdingbranch=?
-			GROUP BY  biblioitems.itemtype");
+			GROUP BY  biblioitems.itemtype
+			ORDER BY itemtypes.description");
 		}
 		$sth->execute($branch);
 	} else {
@@ -84,14 +89,16 @@ sub calculate {
 		SELECT description,items.itype AS itemtype, COUNT(*) AS total 
 			FROM itemtypes,items
 		WHERE items.itype=itemtypes.itemtype
-			GROUP BY items.itype");
+			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");
+			GROUP BY biblioitems.itemtype
+			ORDER BY itemtypes.description");
 		}
 		$sth->execute;
 	}
@@ -116,6 +123,7 @@ sub calculate {
 	$globalline{loopitemtype} = \@results;
 	$globalline{total} = $grantotal;
 	$globalline{branch} = $branch;
+	$globalline{branchname} = GetBranchName($branch);
 	push @mainloop,\%globalline;
 	return \@mainloop;
 }
-- 
1.7.5.4


More information about the Patches mailing list