From: Moritz Bunkus Date: Fri, 31 Aug 2012 11:40:53 +0000 (+0200) Subject: Merge branch 'master' of vc.linet-services.de:public/lx-office-erp X-Git-Tag: release-3.0.0beta1~262 X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/commitdiff_plain/cf6c2739f2a7495121ed95e165ecbf2f060609f6?hp=cae6ced085a7d7423e8515db83e8a369f5cb6a9e Merge branch 'master' of vc.linet-services.de:public/lx-office-erp --- diff --git a/SL/DB/Helper/PriceTaxCalculator.pm b/SL/DB/Helper/PriceTaxCalculator.pm index a8e15481d..8bd03598d 100644 --- a/SL/DB/Helper/PriceTaxCalculator.pm +++ b/SL/DB/Helper/PriceTaxCalculator.pm @@ -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}; diff --git a/SL/Locale.pm b/SL/Locale.pm index 8a2caa2c0..5016900fe 100644 --- a/SL/Locale.pm +++ b/SL/Locale.pm @@ -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 diff --git a/t/form/format_amount.t b/t/form/format_amount.t index a5a4306c6..a88238ee8 100644 --- a/t/form/format_amount.t +++ b/t/form/format_amount.t @@ -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;