From 4d0d49d7c76deab08c83d923775c4c18beef35b5 Mon Sep 17 00:00:00 2001 From: Owen Leonard 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 Signed-off-by: Paul Poulain (cherry picked from commit 396efb90c73099e1f87a5a4593b4c5c1020c69c3) Signed-off-by: Chris Nighswonger --- .../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 65fa34e8fa..26199e6038 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' %] -Koha › Reports › Item Types +Koha › Reports › Catalog by Item Types [% INCLUDE 'doc-head-close.inc' %] + + [% INCLUDE 'header.inc' %] [% INCLUDE 'cat-search.inc' %] - +
@@ -16,29 +24,35 @@ [% IF ( do_it ) %] [% FOREACH mainloo IN mainloop %] -

Reports on item types [% IF ( mainloo.branch ) %] for branch = [% mainloo.branch %][% END %]

- +

Reports on item types [% IF ( mainloo.branchname ) %] held at [% mainloo.branchname %][% END %]

+
+ - + + + + + + + + + [% FOREACH loopitemtyp IN mainloo.loopitemtype %] [% END %] - - - - +
Item typecountCount
TOTAL[% mainloo.total %]
[% loopitemtyp.itemtype %] [% loopitemtyp.count %]
TOTAL[% mainloo.total %]
[% END %] [% ELSE %] - +

View a count of items held at your library grouped by item type

-
View catalog group by item types
  1. [% CGIbranch %] - Select none to see all branches
+
  1. [% CGIbranch %] + Select none to see all libraries
diff --git a/reports/itemtypes.plugin b/reports/itemtypes.plugin index f543f2d0fe..813435440b 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; } -- 2.39.5