#needed for z3950 import:
use C4::ImportBatch qw/GetImportRecordMarc SetImportRecordStatus/;
-my $input = new CGI;
+our $input = new CGI;
my $booksellerid = $input->param('booksellerid'); # FIXME: else ERROR!
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') || '';
-my $biblionumber = $input->param('biblionumber');
-my $basketno = $input->param('basketno');
+our $biblionumber = $input->param('biblionumber');
+our $basketno = $input->param('basketno');
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';
my $budget_name;
-my ( $template, $loggedinuser, $cookie, $userflags ) = get_template_and_user(
+our ( $template, $loggedinuser, $cookie, $userflags ) = get_template_and_user(
{
template_name => "acqui/neworderempty.tmpl",
query => $input,
}
);
-my $marcflavour = C4::Context->preference('marcflavour');
+our $marcflavour = C4::Context->preference('marcflavour');
if(!$basketno) {
my $order = GetOrder($ordernumber);
$basketno = $order->{'basketno'};
}
-my $basket = GetBasket($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 :-)
-my $params = $input->Vars;
+our $params = $input->Vars;
my $listprice=0; # the price, that can be in MARC record if we have one
if ( $ordernumber eq '' and defined $params->{'breedingid'}){
#we want to import from the breeding reservoir (from a z3950 search)
$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;
}
# 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};
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', '');
option => $_
}, split( '\|', C4::Context->preference("gist") );
-my $cur = GetCurrency();
-
$template->param(
existing => $biblionumber,
ordernumber => $ordernumber,
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 ),
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'},
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;