X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=acqui%2Fbasket.pl;h=de668917f57ddf8b091960aeef6ac04a84c95012;hb=HEAD;hp=b55973283e6f79550dec5da859bcbddcafbd4374;hpb=b1121b11b52f14b3356ab3cbc505b4fd9a450626;p=koha_gimpoz diff --git a/acqui/basket.pl b/acqui/basket.pl index b55973283e..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} ); @@ -237,6 +248,7 @@ if ( $op eq 'delete_confirm' ) { my $qty_total; my @books_loop; + my $suggestion; for my $order ( @results ) { my $rrp = $order->{'listprice'} || 0; @@ -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 ) . '%',