X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=acqui%2Fneworderempty.pl;h=9c9eed387fb2d548169a03f3f01ff8a0c2f564af;hb=54616c37e25b969907f9da2cf021e7e23ced836c;hp=90b4732c81111add961223d02d6b82f0ef8c3404;hpb=2512581533399bccbf785209918260f9b5031119;p=koha.git diff --git a/acqui/neworderempty.pl b/acqui/neworderempty.pl index 90b4732c81..9c9eed387f 100755 --- a/acqui/neworderempty.pl +++ b/acqui/neworderempty.pl @@ -97,7 +97,6 @@ my $budget_id = $input->param('budget_id') || 0; my $title = $input->param('title'); my $author = $input->param('author'); my $publicationyear = $input->param('publicationyear'); -my $bookseller = GetBookSellerFromId($booksellerid); # FIXME: else ERROR! my $ordernumber = $input->param('ordernumber') || ''; our $biblionumber = $input->param('biblionumber'); our $basketno = $input->param('basketno'); @@ -105,6 +104,7 @@ my $suggestionid = $input->param('suggestionid'); my $close = $input->param('close'); my $uncertainprice = $input->param('uncertainprice'); my $import_batch_id = $input->param('import_batch_id'); # if this is filled, we come from a staged file, and we will return here after saving the order ! +my $subscriptionid = $input->param('subscriptionid'); my $data; my $new = 'no'; @@ -129,6 +129,9 @@ if(!$basketno) { } our $basket = GetBasket($basketno); +$booksellerid = $basket->{booksellerid} unless $booksellerid; +my $bookseller = GetBookSellerFromId($booksellerid); + my $contract = &GetContract($basket->{contractnumber}); #simple parameters reading (all in one :-) @@ -186,10 +189,8 @@ else { #modify order $biblionumber = $data->{'biblionumber'}; $budget_id = $data->{'budget_id'}; - #get basketno and supplierno. too! - my $data2 = GetBasket( $data->{'basketno'} ); - $basketno = $data2->{'basketno'}; - $booksellerid = $data2->{'booksellerid'}; + $basket = GetBasket( $data->{'basketno'} ); + $basketno = $basket->{'basketno'}; } my $suggestion; @@ -228,7 +229,7 @@ for my $curr ( @rates ) { } # build branches list -my $onlymine=C4::Context->preference('IndependantBranches') && +my $onlymine=C4::Context->preference('IndependentBranches') && C4::Context->userenv && C4::Context->userenv->{flags}!=1 && C4::Context->userenv->{branch}; @@ -321,6 +322,26 @@ if (C4::Context->preference('AcqCreateItem') eq 'ordering' && !$ordernumber) { my @itemtypes; @itemtypes = C4::ItemType->all unless C4::Context->preference('item-level_itypes'); +if ( defined $subscriptionid ) { + my $lastOrderReceived = GetLastOrderReceivedFromSubscriptionid $subscriptionid; + if ( defined $lastOrderReceived ) { + $budget_id = $lastOrderReceived->{budgetid}; + $data->{listprice} = $lastOrderReceived->{listprice}; + $data->{uncertainprice} = $lastOrderReceived->{uncertainprice}; + $data->{gstrate} = $lastOrderReceived->{gstrate}; + $data->{discount} = $lastOrderReceived->{discount}; + $data->{rrp} = $lastOrderReceived->{rrp}; + $data->{ecost} = $lastOrderReceived->{ecost}; + $data->{quantity} = $lastOrderReceived->{quantity}; + $data->{unitprice} = $lastOrderReceived->{unitprice}; + $data->{notes} = $lastOrderReceived->{notes}; + $data->{sort1} = $lastOrderReceived->{sort1}; + $data->{sort2} = $lastOrderReceived->{sort2}; + + $basket = GetBasket( $input->param('basketno') ); + } +} + # Find the items.barcode subfield for barcode validations my (undef, $barcode_subfield) = GetMarcFromKohaField('items.barcode', ''); @@ -336,8 +357,6 @@ my @gst_values = map { option => $_ }, split( '\|', C4::Context->preference("gist") ); -my $cur = GetCurrency(); - $template->param( existing => $biblionumber, ordernumber => $ordernumber, @@ -360,7 +379,6 @@ $template->param( biblionumber => $biblionumber, uncertainprice => $data->{'uncertainprice'}, authorisedbyname => $borrower->{'firstname'} . " " . $borrower->{'surname'}, - biblioitemnumber => $data->{'biblioitemnumber'}, discount_2dp => sprintf( "%.2f", $bookseller->{'discount'} ) , # for display discount => $bookseller->{'discount'}, orderdiscount_2dp => sprintf( "%.2f", $data->{'discount'} || 0 ), @@ -371,7 +389,6 @@ $template->param( cur_active_sym => $active_currency->{'symbol'}, cur_active => $active_currency->{'currency'}, loop_currencies => \@loop_currency, - currency_rate => $cur->{rate}, orderexists => ( $new eq 'yes' ) ? 0 : 1, title => $data->{'title'}, author => $data->{'author'}, @@ -392,13 +409,16 @@ $template->param( total => sprintf( "%.2f", ($data->{ecost} || 0) * ($data->{'quantity'} || 0) ), ecost => sprintf( "%.2f", $data->{ecost} || 0), unitprice => sprintf( "%.2f", $data->{unitprice} || 0), - notes => $data->{'notes'}, publishercode => $data->{'publishercode'}, barcode_subfield => $barcode_subfield, import_batch_id => $import_batch_id, + subscriptionid => $subscriptionid, + acqcreate => C4::Context->preference("AcqCreateItem") eq "ordering" ? 1 : "", (uc(C4::Context->preference("marcflavour"))) => 1 ); +$template->param ( notes => $data->{'notes'} ) if ( $ordernumber ); + output_html_with_http_headers $input, $cookie, $template->output;