X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=reports%2Freservereport.pl;h=67f384cc12efd99db3aa288cc979cb9aafb3bc03;hb=ce037a96eb173e300a564ca96415d8c8bbe304b9;hp=35903f1d12f8576504819b6459109cc3aa2b30ec;hpb=6ed49b77250a9cc720ab6c4627120ee5201671ed;p=koha_fer diff --git a/reports/reservereport.pl b/reports/reservereport.pl index 35903f1d12..67f384cc12 100755 --- a/reports/reservereport.pl +++ b/reports/reservereport.pl @@ -3,7 +3,6 @@ #written 26/4/2000 #script to display reports - # Copyright 2000-2002 Katipo Communications # # This file is part of Koha. @@ -17,39 +16,136 @@ # 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. + +# script now takes a branchcode arg +# eg: http://koha.rangitikei.katipo.co.nz/cgi-bin/koha/reports/reservereport.pl?branch=BL use strict; +#use warnings; FIXME - Bug 2505 use C4::Stats; -use Date::Manip; +use C4::Dates qw/format_date/; use CGI; use C4::Output; -use HTML::Template; +use C4::Branch; # GetBranches +use C4::Auth; +use C4::Koha; +use C4::Items; + + +my $input = new CGI; +my $time = $input->param('time'); +my $branch = $input->param('branch'); +my $sort = $input->param('sort'); + +if (!$branch) { + $branch = "ALL"; +} +my $branches=GetBranches(); -my $input=new CGI; -my $time=$input->param('time'); +my ( $template, $borrowernumber, $cookie ) = get_template_and_user( + { + template_name => "reports/reservereport.tmpl", + query => $input, + type => "intranet", + authnotrequired => 0, + flagsrequired => { reports => '*' }, + debug => 1, + } +); -#print $input->header; -#print startpage; -#print startmenu('report'); -my $template = gettemplate("reservereport.tmpl"); -#print center; -#print mktablehdr(); -my ($count,$data)=unfilledreserves(); +# building up branches dropdown box + +my %branchall; +my $branchcount=0; +my @branchloop; + +foreach my $br (keys %$branches) { + $branchcount++; + my %branch1; + $branch1{name}=$branches->{$br}->{'branchname'}; + $branch1{value}=$br; + push(@branchloop,\%branch1); + } + +my ( $count, $data ) = unfilledreserves($branch); my @dataloop; -for (my $i=0;$i<$count;$i++){ - my %line; - $line{name}="$data->[$i]->{'surname'}\, $data->[$i]->{'firstname'}"; - $line{'reservedate'}=$data->[$i]->{'reservedate'}; - $line{'title'}=$data->[$i]->{'title'}; - $line{'classification'}="$data->[$i]->{'classification'}$data->[$i]->{'dewey'}"; - push(@dataloop,\%line); +my $toggle; +for ( my $i = 0 ; $i < $count ; $i++ ) { + my %line; + $toggle = $i%2 ? 0 : 1; + $line{'borrowernumber'} = $data->[$i]->{'borrowernumber'}; + $line{'surname'} = $data->[$i]->{'surname'}; + $line{'firstname'} = $data->[$i]->{'firstname'}; + $line{'sortdate'} = $data->[$i]->{'reservedate'}; + $line{'reservedate'} = format_date($data->[$i]->{'reservedate'}); + $line{'biblionumber'} = $data->[$i]->{'biblionumber'}; + $line{'title'} = $data->[$i]->{'title'}; + $line{'classification'} = $data->[$i]->{'classification'}; + $line{'dewey'} = $data->[$i]->{'dewey'}; + $line{'status'} = $data->[$i]->{'found'}; + $line{'branchcode'} = $data->[$i]->{'branchcode'}; + $line{'toggle'} = $toggle; + if ( $line{'status'} ne 'W' ) { + + # its not waiting, we need to find if its on issue, or on the shelf + # FIXME still need to shift the text to the template so its translateable + if ( $data->[$i]) { + # find if its on issue + my @items = GetItemsInfo($line{'biblionumber'}, 'intra' ); + my $onissue = 0; + foreach my $item (@items) { + if ( $item->{'datedue'} eq 'Reserved' ) { + $onissue = 0; + if ($item->{'branchname'} eq ''){ + $line{'status'}='In Transit'; + } + else { + $line{'status'} = "On shelf at $item->{'branchname'}"; + } + + } + + else { + $onissue = 1; + } + } + if ($onissue) { + $line{'status'} = 'On Issue'; + } + } + else { + $line{'status'}="Waiting for pickup"; + + } + } + push( @dataloop, \%line ); } -$template->param( count => $count, - dataloop => \@dataloop); -print "Content-Type: text/html\n\n", $template->output; +if ($sort eq 'name'){ + @dataloop = sort {$a->{'surname'} cmp $b->{'surname'}} @dataloop; +} +elsif ($sort eq 'date'){ + @dataloop = sort {$a->{'sortdate'} cmp $b->{'sortdate'}} @dataloop; +} +elsif ($sort eq 'title'){ + @dataloop = sort {$a->{'title'} cmp $b->{'title'}} @dataloop; +} +else { + @dataloop = sort {$a->{'status'} cmp $b->{'status'}} @dataloop; +} + + +$template->param( + count => $count, + dataloop => \@dataloop, + branchcode => $branch, + branchloop => \@branchloop + +); + +output_html_with_http_headers $input, $cookie, $template->output;