X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=reports%2Freservereport.pl;h=42a1d2019d27c986ab7402f900a6a15cac300dc1;hb=5d6c092921919526ade501facb1220f8a108a08f;hp=a7d50e224b308b6997dc8a75e33e2edcbb58828d;hpb=92898f6957fb4f5413f5a06358ccdb1b6917be76;p=koha_fer diff --git a/reports/reservereport.pl b/reports/reservereport.pl index a7d50e224b..42a1d2019d 100755 --- a/reports/reservereport.pl +++ b/reports/reservereport.pl @@ -16,64 +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::Interface::CGI::Output; -use Data::Dumper; +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 ( $template, $borrowernumber, $cookie ) = get_template_and_user( { template_name => "reports/reservereport.tmpl", query => $input, type => "intranet", - authnotrequired => 1, - flagsrequired => { editcatalogue => 1 }, + authnotrequired => 0, + flagsrequired => { reports => '*' }, debug => 1, } ); -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); + } -#print Dumper($count, $data); +my ( $count, $data ) = unfilledreserves($branch); my @dataloop; +my $toggle; for ( my $i = 0 ; $i < $count ; $i++ ) { - my %line; -# $line{name} = "$data->[$i]->{'surname'}\, $data->[$i]->{'firstname'}"; - $line{name} = "

[$i]->{'borrowernumber'}\">$data->[$i]->{'surname'}\, $data->[$i]->{'firstname'}

"; - $line{'reservedate'} = $data->[$i]->{'reservedate'}; - $line{'title'} = "

[$i]->{'biblionumber'}\">$data->[$i]->{'title'}

"; #manky - $line{'classification'} = "$data->[$i]->{'classification'}$data->[$i]->{'dewey'}"; - $line{'status'} = $data->[$i]->{'found'}; - -warn "status : $line{'status'} \n"; - + $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} ); + 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 ); } -#= "

[$i]->{'biblionumber'}\">$data->[$i]->{'title'}

"; #manky -#= "

[$i]->{'borrowernumber'}\">$data->[$i]->{'surname'}\, $data->[$i]->{'firstname'}

"; - - +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 + dataloop => \@dataloop, + branchcode => $branch, + branchloop => \@branchloop + ); output_html_with_http_headers $input, $cookie, $template->output;