#!/usr/bin/perl #script to show display basket of orders # Copyright 2000-2002 Katipo Communications # Copyright 2008-2009 BibLibre SARL # # This file is part of Koha. # # Koha is free software; you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or (at your option) any later # version. # # Koha is distributed in the hope that it will be useful, but WITHOUT ANY # 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., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. =head1 NAME parcels.pl =head1 DESCRIPTION This script shows all orders/parcels receipt or pending for a given supplier. It allows to write an order/parcels as 'received' when he arrives. =head1 CGI PARAMETERS =over 4 =item supplierid To know the supplier this script has to show orders. =item orderby sort list of order by 'orderby'. Orderby can be equals to * datereceived desc (default value) * aqorders.booksellerinvoicenumber * datereceived * aqorders.booksellerinvoicenumber desc =item filter =item datefrom To filter on date =item dateto To filter on date =item resultsperpage To know how many results have to be display / page. =back =cut use strict; use CGI; use C4::Auth; use C4::Output; use C4::Dates qw/format_date/; use C4::Acquisition; use C4::Bookseller; my $input=new CGI; my $supplierid=$input->param('supplierid'); my $order=$input->param('orderby') || "datereceived desc"; my $startfrom=$input->param('startfrom'); my $code=$input->param('filter'); my $datefrom=$input->param('datefrom'); my $dateto=$input->param('dateto'); my $resultsperpage = $input->param('resultsperpage'); my ($template, $loggedinuser, $cookie) = get_template_and_user({template_name => "acqui/parcels.tmpl", query => $input, type => "intranet", authnotrequired => 0, flagsrequired => {acquisition => 'order_receive'}, debug => 1, }); my $bookseller=GetBookSellerFromId($supplierid); $resultsperpage = 20 unless ($resultsperpage); my @results =GetParcels($supplierid, $order, $code,$datefrom,$dateto); my $count = scalar @results; # multi page display gestion $startfrom=0 unless ($startfrom); if ($count>$resultsperpage){ my $displaynext=0; my $displayprev=$startfrom; if(($count - ($startfrom+$resultsperpage)) > 0 ) { $displaynext = 1; } my @numbers = (); if ($count>$resultsperpage) { for (my $i=1; $i<$count/$resultsperpage+1; $i++) { if ($i<16) { my $highlight=0; ($startfrom/$resultsperpage==($i-1)) && ($highlight=1); push @numbers, { number => $i, highlight => $highlight , # searchdata=> "test", startfrom => ($i-1)*$resultsperpage}; } } } my $from = $startfrom*$resultsperpage+1; my $to; if($count < (($startfrom+1)*$resultsperpage)){ $to = $count; } else { $to = (($startfrom+1)*$resultsperpage); } $template->param(numbers=>\@numbers, displaynext=>$displaynext, displayprev=>$displayprev, nextstartfrom=>(($startfrom+$resultsperpage<$count)?$startfrom+$resultsperpage:$count), prevstartfrom=>(($startfrom-$resultsperpage>0)?$startfrom-$resultsperpage:0) ); } my @loopres; for (my $i=$startfrom;$i<=($startfrom+$resultsperpage-1<$count-1?$startfrom+$resultsperpage-1:$count-1);$i++){ my %cell; $cell{number}=$i+1; $cell{code}=$results[$i]->{booksellerinvoicenumber}; $cell{nullcode}=$results[$i]->{booksellerinvoicenumber} eq "NULL"; $cell{emptycode}=$results[$i]->{booksellerinvoicenumber} eq ''; $cell{raw_datereceived}=$results[$i]->{datereceived}; $cell{datereceived}=format_date($results[$i]->{datereceived}); $cell{bibcount}=$results[$i]->{biblio}; $cell{reccount}=$results[$i]->{itemsreceived}; $cell{itemcount}=$results[$i]->{itemsexpected}; push @loopres, \%cell; } $template->param(searchresults=>\@loopres, count=>$count) if ($count); $template->param(orderby=>$order, filter=>$code, datefrom=>$datefrom,dateto=>$dateto, resultsperpage=>$resultsperpage); $template->param( name => $bookseller->{'name'}, DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(), datereceived_today => C4::Dates->new()->output(), supplierid => $supplierid, GST => C4::Context->preference("gist"), ); output_html_with_http_headers $input, $cookie, $template->output;