X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=acqui%2Fbasket.pl;h=de668917f57ddf8b091960aeef6ac04a84c95012;hb=HEAD;hp=c528156157d32b31d4d03bd38fc01d6b644e8068;hpb=79b0b7648127180d704a7311c058939c8cb76bf0;p=koha_gimpoz diff --git a/acqui/basket.pl b/acqui/basket.pl index c528156157..de668917f5 100755 --- a/acqui/basket.pl +++ b/acqui/basket.pl @@ -29,11 +29,13 @@ use CGI; use C4::Acquisition; use C4::Budgets; use C4::Bookseller qw( GetBookSellerFromId); -use C4::Dates qw/format_date/; use C4::Debug; use C4::Biblio; use C4::Members qw/GetMember/; #needed for permissions checking for changing basketgroup of a basket use C4::Items; +use C4::Suggestions; +use Date::Calc qw/Add_Delta_Days/; + =head1 NAME basket.pl @@ -52,7 +54,7 @@ basket.pl The basket number. -=item supplierid +=item booksellerid the supplier this script have to display the basket. @@ -64,7 +66,7 @@ the supplier this script have to display the basket. my $query = new CGI; my $basketno = $query->param('basketno'); -my $booksellerid = $query->param('supplierid'); +my $booksellerid = $query->param('booksellerid'); my ( $template, $loggedinuser, $cookie ) = get_template_and_user( { @@ -80,7 +82,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( my $basket = GetBasket($basketno); # FIXME : what about the "discount" percentage? -# FIXME : the query->param('supplierid') below is probably useless. The bookseller is always known from the basket +# FIXME : the query->param('booksellerid') below is probably useless. The bookseller is always known from the basket # if no booksellerid in parameter, get it from basket # warn "=>".$basket->{booksellerid}; $booksellerid = $basket->{booksellerid} unless $booksellerid; @@ -124,10 +126,10 @@ if ( $op eq 'delete_confirm' ) { basketbooksellernote => $basket->{booksellernote}, basketcontractno => $basket->{contractnumber}, basketcontractname => $contract->{contractname}, - creationdate => format_date( $basket->{creationdate} ), + creationdate => $basket->{creationdate}, authorisedby => $basket->{authorisedby}, authorisedbyname => $basket->{authorisedbyname}, - closedate => format_date( $basket->{closedate} ), + closedate => $basket->{closedate}, active => $bookseller->{'active'}, booksellerid => $bookseller->{'id'}, name => $bookseller->{'name'}, @@ -162,7 +164,7 @@ if ( $op eq 'delete_confirm' ) { basketgroupid => $basketgroupid } ); print $query->redirect('/cgi-bin/koha/acqui/basketgroup.pl?booksellerid='.$booksellerid.'&closed=1'); } else { - print $query->redirect('/cgi-bin/koha/acqui/booksellers.pl?supplierid=' . $booksellerid); + print $query->redirect('/cgi-bin/koha/acqui/booksellers.pl?booksellerid=' . $booksellerid); } exit; } else { @@ -212,6 +214,15 @@ if ( $op eq 'delete_confirm' ) { } unshift( @$basketgroups, \%emptygroup ); } + + # if the basket is closed, calculate estimated delivery date + my $estimateddeliverydate; + if( $basket->{closedate} ) { + my ($year, $month, $day) = ($basket->{closedate} =~ /(\d+)-(\d+)-(\d+)/); + ($year, $month, $day) = Add_Delta_Days($year, $month, $day, $bookseller->{deliverytime}); + $estimateddeliverydate = "$year-$month-$day"; + } + # if new basket, pre-fill infos $basket->{creationdate} = "" unless ( $basket->{creationdate} ); $basket->{authorisedby} = $loggedinuser unless ( $basket->{authorisedby} ); @@ -229,14 +240,15 @@ if ( $op eq 'delete_confirm' ) { my $gist = $bookseller->{gstrate} // C4::Context->preference("gist") // 0; $gist = 0 if $gist == 0.0000; my $discount = $bookseller->{'discount'} / 100; - my $total_rrp; # RRP Total, its value will be assigned to $total_rrp_gsti or $total_rrp_gste depending of $bookseller->{'listincgst'} - my $total_rrp_gsti; # RRP Total, GST included - my $total_rrp_gste; # RRP Total, GST excluded - my $gist_rrp; - my $total_rrp_est; - + my $total_rrp = 0; # RRP Total, its value will be assigned to $total_rrp_gsti or $total_rrp_gste depending of $bookseller->{'listincgst'} + my $total_rrp_gsti = 0; # RRP Total, GST included + my $total_rrp_gste = 0; # RRP Total, GST excluded + my $gist_rrp = 0; + my $total_rrp_est = 0; + my $qty_total; my @books_loop; + my $suggestion; for my $order ( @results ) { my $rrp = $order->{'listprice'} || 0; @@ -281,7 +293,7 @@ if ( $op eq 'delete_confirm' ) { $line{biblios} = $countbiblio - 1; $line{left_subscription} = 1 if scalar @subscriptions >= 1; $line{subscriptions} = scalar @subscriptions; - $line{left_holds} = 1 if $holds >= 1; + ($holds >= 1) ? $line{left_holds} = 1 : $line{left_holds} = 0; $line{left_holds_on_order} = 1 if $line{left_holds}==1 && ($line{items} == 0 || $itemholds ); $line{holds} = $holds; $line{holds_on_order} = $itemholds?$itemholds:$holds if $line{left_holds_on_order}; @@ -303,6 +315,12 @@ if ( $op eq 'delete_confirm' ) { } else { $line{'title'} = "Deleted bibliographic notice, can't find title."; } + + $suggestion = GetSuggestionInfoFromBiblionumber($line{biblionumber}); + $line{suggestionid} = $suggestion->{suggestionid}; + $line{surnamesuggestedby} = $suggestion->{surnamesuggestedby}; + $line{firstnamesuggestedby} = $suggestion->{firstnamesuggestedby}; + push @books_loop, \%line; } @@ -355,14 +373,14 @@ my $total_est_gste; basketbooksellernote => $basket->{booksellernote}, basketcontractno => $basket->{contractnumber}, basketcontractname => $contract->{contractname}, - creationdate => C4::Dates->new($basket->{creationdate},'iso')->output, + creationdate => $basket->{creationdate}, authorisedby => $basket->{authorisedby}, authorisedbyname => $basket->{authorisedbyname}, - closedate => C4::Dates->new($basket->{closedate},'iso')->output, + closedate => $basket->{closedate}, + estimateddeliverydate=> $estimateddeliverydate, active => $bookseller->{'active'}, booksellerid => $bookseller->{'id'}, name => $bookseller->{'name'}, - entrydate => C4::Dates->new($results[0]->{'entrydate'},'iso')->output, books_loop => \@books_loop, cancelledorders_loop => \@cancelledorders, gist_rate => sprintf( "%.2f", $gist * 100 ) . '%',