@@ -, +, @@ from the invoice --- Koha/Acquisition/Order.pm | 3 +- acqui/finishreceive.pl | 32 ++++++++++++++++--- .../prog/en/modules/acqui/orderreceive.tt | 18 +++++------ 3 files changed, 38 insertions(+), 15 deletions(-) --- a/Koha/Acquisition/Order.pm +++ a/Koha/Acquisition/Order.pm @@ -635,7 +635,8 @@ sub to_api_mapping { uncertainprice => 'uncertain_price', unitprice => 'unit_price', unitprice_tax_excluded => 'unit_price_tax_excluded', - unitprice_tax_included => 'unit_price_tax_included' + unitprice_tax_included => 'unit_price_tax_included', + invoice_unitprice => 'invoice_unit_price', }; } --- a/acqui/finishreceive.pl +++ a/acqui/finishreceive.pl @@ -51,6 +51,8 @@ my $quantity = $input->param('quantity'); my $unitprice = $input->param('unitprice'); my $replacementprice = $input->param('replacementprice'); my $datereceived = $input->param('datereceived'); +my $invoice_unitprice = $input->param('invoice_unitprice'); +my $invoice_currency = $input->param('invoice_currency'); my $invoiceid = $input->param('invoiceid'); my $invoice = GetInvoice($invoiceid); my $invoiceno = $invoice->{invoicenumber}; @@ -98,10 +100,22 @@ if ($quantityrec > $origquantityrec ) { } } - $order_obj->order_internalnote(scalar $input->param("order_internalnote")); - $order_obj->tax_rate_on_receiving(scalar $input->param("tax_rate")); - $order_obj->replacementprice($replacementprice); - $order_obj->unitprice($unitprice); + $order_obj->set( + { + order_internalnote => scalar $input->param("order_internalnote"), + tax_rate_on_receiving => scalar $input->param("tax_rate"), + replacementprice => $replacementprice, + unitprice => $unitprice, + ( + defined $invoice_unitprice && $invoice_unitprice ne '' + ? ( + invoice_unitprice => $invoice_unitprice, + invoice_currency => $invoice_currency, + ) + : () + ), + } + ); $order_obj->populate_with_prices_for_receiving(); @@ -189,7 +203,15 @@ if (C4::Context->preference("AcquisitionLog")) { bookfund => $bookfund || 'unchanged', tax_rate => $input->param("tax_rate"), replacementprice => $replacementprice, - unitprice => $unitprice + unitprice => $unitprice, + ( + defined $invoice_unitprice && $invoice_unitprice ne '' + ? ( + invoice_unitprice => $invoice_unitprice, + invoice_currency => $invoice_currency, + ) + : () + ), }; logaction( --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt +++ a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt @@ -428,13 +428,13 @@
  • - - + + [% IF currencies.count %] - + [% FOR currency IN currencies %] - + [% END %] [% END %] @@ -608,13 +608,13 @@ }).change(); function update_unitprice() { - var rate = Number($("select[name='currency'] option:selected").val()); - var unitprice = $("#unitprice_currency").val(); + var rate = Number($("select[name='invoice_currency'] option:selected").data('rate')); + var unitprice = $("#invoice_unitprice").val(); var new_unitprice = Number( unitprice * rate ).toFixed(2); $("#unitprice").val(new_unitprice); } - $("select[name='currency']").on("change", function(){update_unitprice()} ); - $("#unitprice_currency").on("change", function(){update_unitprice()} ); + $("select[name='invoice_currency']").on("change", function(){update_unitprice()} ); + $("#invoice_unitprice").on("change", function(){update_unitprice()} ); [% IF other_reason %] $(".select-reason").hide(); --