From 91ac7223f6a82e2b4db512b52bd4f82fa8890aae Mon Sep 17 00:00:00 2001 From: tonnesen Date: Wed, 2 May 2001 23:06:44 +0000 Subject: [PATCH] Steve Tonnesen's K12Admin-specific (for the time-being) group based overdue reports. --- C4/Groups.pm | 94 +++++++++++++++++++ groups.pl | 261 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 355 insertions(+) create mode 100755 C4/Groups.pm create mode 100755 groups.pl diff --git a/C4/Groups.pm b/C4/Groups.pm new file mode 100755 index 0000000000..5a6d9c5e53 --- /dev/null +++ b/C4/Groups.pm @@ -0,0 +1,94 @@ +package C4::Groups; + +#package to deal with Returns +#written 3/11/99 by olwen@katipo.co.nz + +use strict; +require Exporter; +use DBI; +use C4::Database; +use C4::Circulation::Circ2; +#use C4::Accounts; +#use C4::InterfaceCDK; +#use C4::Circulation::Main; +#use C4::Format; +#use C4::Circulation::Renewals; +#use C4::Scan; +use C4::Stats; +#use C4::Search; +#use C4::Print; + +use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); + +# set the version for version checking +$VERSION = 0.01; + +@ISA = qw(Exporter); +@EXPORT = qw(&getgroups &groupmembers); +%EXPORT_TAGS = ( ); # eg: TAG => [ qw!name1 name2! ], + +# your exported package globals go here, +# as well as any optionally exported functions + +@EXPORT_OK = qw($Var1 %Hashit); + + +# non-exported package globals go here +#use vars qw(@more $stuff); + +# initalize package globals, first exported ones + +my $Var1 = ''; +my %Hashit = (); + +# then the others (which are still accessible as $Some::Module::stuff) +my $stuff = ''; +my @more = (); + +# all file-scoped lexicals must be created before +# the functions below that use them. + +# file-private lexicals go here +my $priv_var = ''; +my %secret_hash = (); + +# here's a file-private function as a closure, +# callable as &$priv_func; it cannot be prototyped. +my $priv_func = sub { + # stuff goes here. +}; + +# make all your functions, whether exported or not; + + +sub getgroups { + my ($env) = @_; + my %groups; + my $dbh=&C4Connect; + my $sth=$dbh->prepare("select distinct groupshortname,grouplongname from borrowergroups"); + $sth->execute; + while (my ($short, $long)=$sth->fetchrow) { + $groups{$short}=$long; + } + $dbh->disconnect; + return (\%groups); +} + +sub groupmembers { + my ($env, $group) = @_; + my @members; + my $dbh=&C4Connect; + my $q_group=$dbh->quote($group); + my $sth=$dbh->prepare("select borrowernumber from borrowergroups where groupshortname=$q_group"); + $sth->execute; + while (my ($borrowernumber) = $sth->fetchrow) { + my ($patron, $flags) = getpatroninformation($env, $borrowernumber); + my $currentissues=currentissues($env, $patron); + $patron->{'currentissues'}=$currentissues; + push (@members, $patron); + } + return (\@members); +} + + +END { } # module clean-up code here (global destructor) diff --git a/groups.pl b/groups.pl new file mode 100755 index 0000000000..5e0f368529 --- /dev/null +++ b/groups.pl @@ -0,0 +1,261 @@ +#!/usr/bin/perl + +#written 14/1/2000 +#script to display reports + +use CGI qw/:standard/; +use C4::Output; +use C4::Groups; +use C4::Circulation::Circ2; +use C4::Print; +use DBI; + +my $input=new CGI; +my $time=$input->param('time'); +#print $input->header; + + +my $branches=getbranches(\%env); +my $printers=getprinters(\%env); +my $branch=$input->param('branch'); +my $printer=$input->param('printer'); +($branch) || ($branch=$input->cookie('branch')); +($printer) || ($printer=$input->cookie('printer')); +my ($oldbranch, $oldprinter); +if ($input->param('selectnewbranchprinter')) { + $oldbranch=$branch; + $oldprinter=$printer; + $branch=''; + $printer=''; +} +$env{'branchcode'}=$branch; +$env{'printer'}=$printer; +#$env{'queue'}=$printer; +my $branchcount=0; +my $printercount=0; +my $branchoptions; +my $printeroptions; +foreach (keys %$branches) { + (next) unless ($_); + (next) if (/^TR$/); + $branchcount++; + my $selected=''; + ($selected='selected') if ($_ eq $oldbranch); + ($selected='selected') if ($_ eq $branch); + $branchoptions.="