X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=reports%2Freservereport.pl;h=42a1d2019d27c986ab7402f900a6a15cac300dc1;hb=4e7e8a5544297aa6d02eb86b4a621e25a19e9e0b;hp=8ec2f9f7859792eba882d16f24ab35e394ec3985;hpb=b8c46509f36ddf87eb9fb6f7367dcfabf7212f5b;p=koha_fer diff --git a/reports/reservereport.pl b/reports/reservereport.pl index 8ec2f9f785..42a1d2019d 100755 --- a/reports/reservereport.pl +++ b/reports/reservereport.pl @@ -16,32 +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 $branches=GetBranches(); my ( $template, $borrowernumber, $cookie ) = get_template_and_user( { @@ -49,7 +52,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user( query => $input, type => "intranet", authnotrequired => 0, - flagsrequired => { editcatalogue => 1 }, + flagsrequired => { reports => '*' }, debug => 1, } ); @@ -78,6 +81,7 @@ for ( my $i = 0 ; $i < $count ; $i++ ) { $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'}; @@ -86,10 +90,55 @@ for ( my $i = 0 ; $i < $count ; $i++ ) { $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,