X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=reports%2Fitemtypes.plugin;h=e4164a5a76f77013d0d7d902b58c07de4fe0d630;hb=9c5e40e4923179bf0b2b630d3e09797dc4c1fdb0;hp=9458afe7563bc672bc3cbdc101a0fcb8957b12b7;hpb=0dd40fa3038ba4e9d7713f2abdf477496996a740;p=koha.git diff --git a/reports/itemtypes.plugin b/reports/itemtypes.plugin old mode 100644 new mode 100755 index 9458afe756..e4164a5a76 --- a/reports/itemtypes.plugin +++ b/reports/itemtypes.plugin @@ -1,6 +1,5 @@ #!/usr/bin/perl -# $Id$ # Copyright 2000-2002 Katipo Communications # @@ -15,15 +14,14 @@ # 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, write to the Free Software Foundation, Inc., 59 Temple Place, -# Suite 330, Boston, MA 02111-1307 USA +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. use strict; use C4::Auth; use CGI; use C4::Context; -use HTML::Template::Pro; use C4::Search; use C4::Output; use C4::Koha; @@ -33,27 +31,15 @@ use C4::Branch; # GetBranches =cut sub set_parameters { - my ($template) = @_; - my $dbh = C4::Context->dbh; - my $branches=GetBranches(); - my @branches; - my @select_branch; - my %select_branches; - push @select_branch,""; - $select_branches{""} = ""; - foreach my $branch (keys %$branches) { - push @select_branch, $branch; - $select_branches{$branch} = $branches->{$branch}->{'branchname'}; - } - my $CGIbranch=CGI::scrolling_list( -name => 'value', - -id => 'value', - -values => \@select_branch, - -labels => \%select_branches, - -size => 1, - -multiple => 0 ); - $template->param(CGIbranch => $CGIbranch); - return $template; + my ($template) = @_; + my $userbranch = ''; + if (C4::Context->userenv && C4::Context->userenv->{'branch'}) { + $userbranch = C4::Context->userenv->{'branch'}; + } + $template->param( branchloop => GetBranchesLoop($userbranch) ); + return $template; } + sub calculate { my ($parameters) = @_; my @results =(); @@ -61,15 +47,44 @@ sub calculate { my $dbh = C4::Context->dbh; my $sth; if ($branch) { - $sth = $dbh->prepare("select description, biblioitems.itemtype, count(*) as total from itemtypes, biblioitems, items - where biblioitems.itemtype=itemtypes.itemtype - and items.biblioitemnumber=biblioitems.biblioitemnumber - and items.holdingbranch=? - group by biblioitems.itemtype"); + if (C4::Context->preference('item-level_itypes')) { + $sth = $dbh->prepare(" + SELECT description, items.itype as itemtype, COUNT(*) AS total + FROM itemtypes,items + WHERE items.itype=itemtypes.itemtype + AND items.holdingbranch=? + 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 items.biblioitemnumber=biblioitems.biblioitemnumber + AND items.holdingbranch=? + GROUP BY biblioitems.itemtype + ORDER BY itemtypes.description"); + } $sth->execute($branch); } 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"); + if (C4::Context->preference('item-level_itypes')) { + $sth = $dbh->prepare(" + SELECT description,items.itype AS itemtype, COUNT(*) AS total + FROM itemtypes,items + WHERE items.itype=itemtypes.itemtype + 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 + ORDER BY itemtypes.description"); + } $sth->execute; } my ($description,$biblioitems,$total); @@ -93,6 +108,7 @@ sub calculate { $globalline{loopitemtype} = \@results; $globalline{total} = $grantotal; $globalline{branch} = $branch; + $globalline{branchname} = GetBranchName($branch); push @mainloop,\%globalline; return \@mainloop; }