[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