my $input=new CGI;
my $flagsrequired = {acquisition => 'order_receive'};
-my ($loggedinuser, $cookie, $sessionID) = checkauth($input, 0, $flagsrequired, 'intranet');
+
+checkauth($input, 0, $flagsrequired, 'intranet');
+
my $user=$input->remote_user;
my $biblionumber = $input->param('biblionumber');
my $biblioitemnumber=$input->param('biblioitemnumber');
my $quantityrec=$input->param('quantityrec');
my $quantity=$input->param('quantity');
my $unitprice=$input->param('cost');
-my $invoiceno=$input->param('invoice');
-my $datereceived=$input->param('datereceived');
+my $invoiceid = $input->param('invoiceid');
+my $invoice = GetInvoice($invoiceid);
+my $invoiceno = $invoice->{invoicenumber};
+my $datereceived= $invoice->{shipmentdate};
my $replacement=$input->param('rrp');
my $gst=$input->param('gst');
-my $freight=$input->param('freight');
-my $supplierid = $input->param('supplierid');
+my $booksellerid = $input->param('booksellerid');
my $cnt=0;
-my $error_url_str;
my $ecost = $input->param('ecost');
my $note = $input->param("note");
#need old recievedate if we update the order, parcel.pl only shows the right parcel this way FIXME
if ($quantityrec > $origquantityrec ) {
+ my @received_items = ();
+ if(C4::Context->preference('AcqCreateItem') eq 'ordering') {
+ @received_items = $input->param('items_to_receive');
+ }
+
+ my $new_ordernumber = $ordernumber;
+ # save the quantity received.
+ if ( $quantityrec > 0 ) {
+ ($datereceived, $new_ordernumber) = ModReceiveOrder(
+ $biblionumber, $ordernumber, $quantityrec, $user, $unitprice,
+ $invoiceid, $replacement, undef, $datereceived, \@received_items);
+ }
+
# now, add items if applicable
if (C4::Context->preference('AcqCreateItem') eq 'receiving') {
$itemhash{$item}->{'indicator'},'ITEM');
my $record=MARC::Record::new_from_xml($xml, 'UTF-8');
my (undef,$bibitemnum,$itemnumber) = AddItemFromMarc($record,$biblionumber);
- NewOrderItem($itemnumber, $ordernumber);
+ NewOrderItem($itemnumber, $new_ordernumber);
}
}
-
- # save the quantity received.
- $datereceived = ModReceiveOrder($biblionumber,$ordernumber, $quantityrec ,$user,$unitprice,$invoiceno,$freight,$replacement,undef,$datereceived);
}
update_item( $_ ) foreach GetItemnumbersFromOrder( $ordernumber );
-print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoice=$invoiceno&supplierid=$supplierid&freight=$freight&gst=$gst&datereceived=$datereceived$error_url_str");
+print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoiceid=$invoiceid");
################################ End of script ################################
my ( $itemnumber ) = @_;
ModItem( {
- booksellerid => $supplierid,
+ booksellerid => $booksellerid,
dateaccessioned => $datereceived,
price => $unitprice,
replacementprice => $replacement,