Bug 18471 - Receiving order with unitprice greater than 1000 processing incorrectly
authorKyle M Hall <kyle@bywatersolutions.com>
Fri, 21 Apr 2017 14:10:37 +0000 (10:10 -0400)
committerKyle M Hall <kyle@bywatersolutions.com>
Fri, 28 Apr 2017 10:27:51 +0000 (06:27 -0400)
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>
acqui/finishreceive.pl
acqui/invoice.pl

index 6a82f54..71a07f6 100755 (executable)
@@ -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 = ();
index 9906341..3ab2d9f 100755 (executable)
@@ -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};