Bug 18471 - Receiving order with unitprice greater than 1000 processing incorrectly

Receiving orders process the comma as a decimal point
Invoices are displaying incorrectly when formatting total

Test Plan:
1. Open a basket
2. Place an order for an item with price > 1000, $4367.00 for example
3. Close basket
4. Receive order
5. Note on orderreceive.pl the price is populate as "4,367.00"
6. Receive/Save
7. Note the 'Actual Cost' is now $4.00, verify db contains 4 as well
8. Cancel receipt
9. Receive again, this time enter price as "4367"
10. Receive/save
11. Note actual cost is correct
12. Finish receiving
13. Note invoice reads total as $4.00
14. Check db. price in aqorders is correct but displaying incorrectly
15. Apply this patch
16. Repeat step2 1. 14, note errors are fixed

Signed-off-by: Nicolas Legrand <nicolas.legrand@bulac.fr>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
This commit is contained in:
Kyle M Hall 2017-04-21 10:10:37 -04:00
parent 475c294b29
commit 21992c7eca
2 changed files with 5 additions and 2 deletions

View File

@ -31,6 +31,7 @@ use C4::Biblio;
use C4::Items;
use C4::Search;
use Koha::Number::Price;
use Koha::Acquisition::Booksellers;
use List::MoreUtils qw/any/;
@ -57,6 +58,8 @@ my $bookfund = $input->param("bookfund");
my $order = GetOrder($ordernumber);
my $new_ordernumber = $ordernumber;
$unitprice = Koha::Number::Price->new( $unitprice )->unformat();
#need old receivedate if we update the order, parcel.pl only shows the right parcel this way FIXME
if ($quantityrec > $origquantityrec ) {
my @received_items = ();

View File

@ -124,8 +124,8 @@ my $total_tax_value = 0;
foreach my $order (@$orders) {
my $line = get_infos( $order, $bookseller);
$line->{total_tax_excluded} = Koha::Number::Price->new( $line->{unitprice_tax_excluded} * $line->{quantity} )->format;
$line->{total_tax_included} = Koha::Number::Price->new( $line->{unitprice_tax_included} * $line->{quantity} )->format;
$line->{total_tax_excluded} = $line->{unitprice_tax_excluded} * $line->{quantity};
$line->{total_tax_included} = $line->{unitprice_tax_included} * $line->{quantity};
$line->{tax_value} = $line->{tax_value_on_receiving};
$line->{tax_rate} = $line->{tax_rate_on_receiving};