Bugzilla – Attachment 125648 Details for
Bug 14999
Adding to basket orders from staged files mixes up the prices between different orders
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 14999: Make sure order prices are not mixed-up
Bug-14999-Make-sure-order-prices-are-not-mixed-up.patch (text/plain), 3.83 KB, created by
Joonas Kylmälä
on 2021-10-02 12:39:12 UTC
(
hide
)
Description:
Bug 14999: Make sure order prices are not mixed-up
Filename:
MIME Type:
Creator:
Joonas Kylmälä
Created:
2021-10-02 12:39:12 UTC
Size:
3.83 KB
patch
obsolete
>From 41432ba4447fb78b8fbe0aa7a5c424f570ac4b17 Mon Sep 17 00:00:00 2001 >From: =?UTF-8?q?Joonas=20Kylm=C3=A4l=C3=A4?= <joonas.kylmala@iki.fi> >Date: Sat, 2 Oct 2021 12:28:52 +0000 >Subject: [PATCH] Bug 14999: Make sure order prices are not mixed-up > >We were shifting the price and replacement price for imported orders >only after the line: > >> $duplinbatch = $import_batch_id and next if $duplifound; > >This lead to the "replacementprice" and "price" query parameters not >being shifted/removed from the list if a duplicate record came across >and caused the prices be applied to the next record being imported. > >To reproduce: > 1) Download two records from koha to marcxml file, then cat those: > cat bib1.marcxml bib2.marcxml > bibs.marcxml > 2) Delete bib2 from koha > 3) Stage bibs.marcxml for import > 4) Create a new order basket, then "Add to basket" using "From a > staged file" option > 5) Select both bib1 and bib2 and set price & replacement price for > bib1 to be 99.00 and for bib2 to be 88.00 > 6) Click save and notice bib2 was imported with the wrong prices, 99.00! > 7) Apply patch and notice the prices are now correctly set to 88.00. >--- > acqui/addorderiso2709.pl | 17 +++++++++-------- > 1 file changed, 9 insertions(+), 8 deletions(-) > >diff --git a/acqui/addorderiso2709.pl b/acqui/addorderiso2709.pl >index 404c3334bd..bdb1904c74 100755 >--- a/acqui/addorderiso2709.pl >+++ b/acqui/addorderiso2709.pl >@@ -166,6 +166,8 @@ if ($op eq ""){ > $c_discount = $c_discount / 100 if $c_discount > 1; > my $c_sort1 = shift( @sort1 ) || $input->param('all_sort1') || ''; > my $c_sort2 = shift( @sort2 ) || $input->param('all_sort2') || ''; >+ my $c_replacement_price = shift( @orderreplacementprices ); >+ my $c_price = shift( @prices ) || GetMarcPrice($marcrecord, C4::Context->preference('marcflavour')); > > # Insert the biblio, or find it through matcher > unless ( $biblionumber ) { >@@ -326,24 +328,23 @@ if ($op eq ""){ > order_internalnote => $cgiparams->{'all_order_internalnote'}, > order_vendornote => $cgiparams->{'all_order_vendornote'}, > currency => $cgiparams->{'all_currency'}, >- replacementprice => shift( @orderreplacementprices ), >+ replacementprice => $c_replacement_price, > ); > # get the price if there is one. >- my $price= shift( @prices ) || GetMarcPrice($marcrecord, C4::Context->preference('marcflavour')); >- if ($price){ >+ if ($c_price){ > # in France, the cents separator is the , but sometimes, ppl use a . > # in this case, the price will be x100 when unformatted ! Replace the . by a , to get a proper price calculation >- $price =~ s/\./,/ if C4::Context->preference("CurrencyFormat") eq "FR"; >- $price = Koha::Number::Price->new($price)->unformat; >+ $c_price =~ s/\./,/ if C4::Context->preference("CurrencyFormat") eq "FR"; >+ $c_price = Koha::Number::Price->new($c_price)->unformat; > $orderinfo{tax_rate} = $bookseller->tax_rate; > my $c = $c_discount ? $c_discount : $bookseller->discount / 100; > $orderinfo{discount} = $c; > if ( $c_discount ) { >- $orderinfo{ecost} = $price; >+ $orderinfo{ecost} = $c_price; > $orderinfo{rrp} = $orderinfo{ecost} / ( 1 - $c ); > } else { >- $orderinfo{ecost} = $price * ( 1 - $c ); >- $orderinfo{rrp} = $price; >+ $orderinfo{ecost} = $c_price * ( 1 - $c ); >+ $orderinfo{rrp} = $c_price; > } > $orderinfo{listprice} = $orderinfo{rrp} / $active_currency->rate; > $orderinfo{unitprice} = $orderinfo{ecost}; >-- >2.20.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 14999
:
43319
|
43363
|
43364
|
125648
|
125689
|
127176