Merge branch 'master' of vc.linet-services.de:public/lx-office-erp
authorMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 31 Aug 2012 11:40:53 +0000 (13:40 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Fri, 31 Aug 2012 11:40:53 +0000 (13:40 +0200)
SL/DB/Helper/PriceTaxCalculator.pm
SL/Locale.pm
t/form/format_amount.t

index a8e1548..8bd0359 100644 (file)
@@ -70,7 +70,7 @@ sub _calculate_item {
   croak("Undefined unit " . $item->unit)       if !$item_unit;
 
   $item->base_qty($item_unit->convert_to($item->qty, $part_unit));
-  $item->fxsellprice($item->sellprice);
+  $item->fxsellprice($item->sellprice) if $data->{is_invoice};
 
   my $num_dec   = _num_decimal_places($item->sellprice);
   my $discount  = _round($item->sellprice * ($item->discount || 0), $num_dec);
@@ -126,7 +126,9 @@ sub _calculate_item {
   if ($item->part->is_assembly) {
     _calculate_assembly_item($self, $data, $item->part, $item->base_qty, $item->unit_obj->convert_to(1, $item->part->unit_obj));
   } elsif ($item->part->is_part) {
-    $item->allocated(_calculate_part_item($self, $data, $item->part, $item->base_qty, $item->unit_obj->convert_to(1, $item->part->unit_obj)));
+    if ($data->{is_invoice}) {
+      $item->allocated(_calculate_part_item($self, $data, $item->part, $item->base_qty, $item->unit_obj->convert_to(1, $item->part->unit_obj)));
+    }
   }
 
   $data->{last_incex_chart_id} = $chart->id if $data->{is_sales};
index 8a2caa2..5016900 100644 (file)
@@ -547,7 +547,7 @@ __END__
 
 =head1 NAME
 
-Locale - Functions for dealing with locale-dependant information
+Locale - Functions for dealing with locale-dependent information
 
 =head1 SYNOPSIS
 
index a5a4306..a88238e 100644 (file)
@@ -2,42 +2,28 @@ use strict;
 use Test::More;
 
 use lib 't';
+use Support::TestSetup;
 
-use_ok('SL::Form');
-require_ok('SL::Form');
-
-
-package LxDebugMock;
-sub enter_sub {};
-sub leave_sub {};
-
-$main::lxdebug = bless({}, 'LxDebugMock');
-
-package main;
-
-
-my $form = Form->new();
-
+Support::TestSetup::login();
 
 my $config = {};
 
-
 $config->{numberformat} = '1.000,00';
 
-is($form->format_amount($config, '1e1', 2), '10,00', 'format 1e1 (numberformat: 1.000,00)');
-is($form->format_amount($config, 1000, 2), '1.000,00', 'format 1000 (numberformat: 1.000,00)');
-is($form->format_amount($config, 1000.1234, 2), '1.000,12', 'format 1000.1234 (numberformat: 1.000,00)');
-is($form->format_amount($config, 1000000000.1234, 2), '1.000.000.000,12', 'format 1000000000.1234 (numberformat: 1.000,00)');
-is($form->format_amount($config, -1000000000.1234, 2), '-1.000.000.000,12', 'format -1000000000.1234 (numberformat: 1.000,00)');
+is($::form->format_amount($config, '1e1', 2), '10,00', 'format 1e1 (numberformat: 1.000,00)');
+is($::form->format_amount($config, 1000, 2), '1.000,00', 'format 1000 (numberformat: 1.000,00)');
+is($::form->format_amount($config, 1000.1234, 2), '1.000,12', 'format 1000.1234 (numberformat: 1.000,00)');
+is($::form->format_amount($config, 1000000000.1234, 2), '1.000.000.000,12', 'format 1000000000.1234 (numberformat: 1.000,00)');
+is($::form->format_amount($config, -1000000000.1234, 2), '-1.000.000.000,12', 'format -1000000000.1234 (numberformat: 1.000,00)');
 
 
 $config->{numberformat} = '1,000.00';
 
-is($form->format_amount($config, '1e1', 2), '10,00', 'format 1e1 (numberformat: 1,000.00)');
-is($form->format_amount($config, 1000, 2), '1.000,00', 'format 1000 (numberformat: 1,000.00)');
-is($form->format_amount($config, 1000.1234, 2), '1.000,12', 'format 1000.1234 (numberformat: 1,000.00)');
-is($form->format_amount($config, 1000000000.1234, 2), '1.000.000.000,12', 'format 1000000000.1234 (numberformat: 1,000.00)');
-is($form->format_amount($config, -1000000000.1234, 2), '-1.000.000.000,12', 'format -1000000000.1234 (numberformat: 1,000.00)');
+is($::form->format_amount($config, '1e1', 2), '10.00', 'format 1e1 (numberformat: 1,000.00)');
+is($::form->format_amount($config, 1000, 2), '1,000.00', 'format 1000 (numberformat: 1,000.00)');
+is($::form->format_amount($config, 1000.1234, 2), '1,000.12', 'format 1000.1234 (numberformat: 1,000.00)');
+is($::form->format_amount($config, 1000000000.1234, 2), '1,000,000,000.12', 'format 1000000000.1234 (numberformat: 1,000.00)');
+is($::form->format_amount($config, -1000000000.1234, 2), '-1,000,000,000.12', 'format -1000000000.1234 (numberformat: 1,000.00)');
 
 done_testing;