X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=reports%2Freservereport.pl;h=42a1d2019d27c986ab7402f900a6a15cac300dc1;hb=2b8b5ae225af6119e41e2112f9a8573b4170b927;hp=447a03efd176aeb3439c9822945a6269857f468b;hpb=293f570b64abf2875efe0f3d8f676774a154665d;p=koha_fer diff --git a/reports/reservereport.pl b/reports/reservereport.pl index 447a03efd1..42a1d2019d 100755 --- a/reports/reservereport.pl +++ b/reports/reservereport.pl @@ -16,21 +16,35 @@ # 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 C4::Date; +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 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( { @@ -38,12 +52,26 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user( query => $input, type => "intranet", authnotrequired => 0, - flagsrequired => { editcatalogue => 1 }, + 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); + } + +my ( $count, $data ) = unfilledreserves($branch); my @dataloop; my $toggle; @@ -53,21 +81,71 @@ for ( my $i = 0 ; $i < $count ; $i++ ) { $line{'borrowernumber'} = $data->[$i]->{'borrowernumber'}; $line{'surname'} = $data->[$i]->{'surname'}; $line{'firstname'} = $data->[$i]->{'firstname'}; - $line{'reservedate'} = format_date($data->[$i]->{'reservedate'}); + $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{'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 ); } +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;