From: Thomas Heck Date: Tue, 28 Aug 2012 15:50:56 +0000 (+0200) Subject: Merge branch 'master' of vc.linet-services.de:public/lx-office-erp X-Git-Tag: release-3.0.0beta1~269 X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/commitdiff_plain/4e4bd8f9d9b5c89d42829011786d3766a0b926bf?hp=e435033ee174eb5028b6e56b825533c1caf698ea Merge branch 'master' of vc.linet-services.de:public/lx-office-erp --- diff --git a/SL/DB.pm b/SL/DB.pm index 861fe6a52..dd551636b 100644 --- a/SL/DB.pm +++ b/SL/DB.pm @@ -38,9 +38,7 @@ sub create { my %_dateformats = ( 'yy-mm-dd' => 'ISO', 'yyyy-mm-dd' => 'ISO', 'mm/dd/yy' => 'SQL, US', - 'mm-dd-yy' => 'POSTGRES, US', 'dd/mm/yy' => 'SQL, EUROPEAN', - 'dd-mm-yy' => 'POSTGRES, EUROPEAN', 'dd.mm.yy' => 'GERMAN' ); diff --git a/SL/Form.pm b/SL/Form.pm index 70d3a6550..547611d68 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -788,10 +788,8 @@ sub write_trigger { # default my %dateformats = ( "dd.mm.yy" => "%d.%m.%Y", - "dd-mm-yy" => "%d-%m-%Y", "dd/mm/yy" => "%d/%m/%Y", "mm/dd/yy" => "%m/%d/%Y", - "mm-dd-yy" => "%m-%d-%Y", "yyyy-mm-dd" => "%Y-%m-%d", ); @@ -871,6 +869,8 @@ sub format_amount { $amount = 0; } + $amount *= 1; + # Hey watch out! The amount can be an exponential term like 1.13686837721616e-13 my $neg = ($amount =~ s/^-//); diff --git a/SL/User.pm b/SL/User.pm index 2addf2905..0ac87fe90 100644 --- a/SL/User.pm +++ b/SL/User.pm @@ -199,18 +199,14 @@ sub dbconnect_vars { 'Pg' => { 'yy-mm-dd' => 'set DateStyle to \'ISO\'', 'yyyy-mm-dd' => 'set DateStyle to \'ISO\'', 'mm/dd/yy' => 'set DateStyle to \'SQL, US\'', - 'mm-dd-yy' => 'set DateStyle to \'POSTGRES, US\'', 'dd/mm/yy' => 'set DateStyle to \'SQL, EUROPEAN\'', - 'dd-mm-yy' => 'set DateStyle to \'POSTGRES, EUROPEAN\'', 'dd.mm.yy' => 'set DateStyle to \'GERMAN\'' }, 'Oracle' => { 'yy-mm-dd' => 'ALTER SESSION SET NLS_DATE_FORMAT = \'YY-MM-DD\'', 'yyyy-mm-dd' => 'ALTER SESSION SET NLS_DATE_FORMAT = \'YYYY-MM-DD\'', 'mm/dd/yy' => 'ALTER SESSION SET NLS_DATE_FORMAT = \'MM/DD/YY\'', - 'mm-dd-yy' => 'ALTER SESSION SET NLS_DATE_FORMAT = \'MM-DD-YY\'', 'dd/mm/yy' => 'ALTER SESSION SET NLS_DATE_FORMAT = \'DD/MM/YY\'', - 'dd-mm-yy' => 'ALTER SESSION SET NLS_DATE_FORMAT = \'DD-MM-YY\'', 'dd.mm.yy' => 'ALTER SESSION SET NLS_DATE_FORMAT = \'DD.MM.YY\'', }); diff --git a/bin/mozilla/admin.pl b/bin/mozilla/admin.pl index 7581e9b34..c704174c8 100755 --- a/bin/mozilla/admin.pl +++ b/bin/mozilla/admin.pl @@ -73,7 +73,7 @@ our $form; our $locale; our $auth; -my @valid_dateformats = qw(mm-dd-yy mm/dd/yy dd-mm-yy dd/mm/yy dd.mm.yy yyyy-mm-dd); +my @valid_dateformats = qw(mm/dd/yy dd/mm/yy dd.mm.yy yyyy-mm-dd); my @valid_numberformats = ('1,000.00', '1000.00', '1.000,00', '1000,00'); my @all_stylesheets = qw(lx-office-erp.css Win2000.css Mobile.css kivitendo.css); my @all_menustyles = ( diff --git a/bin/mozilla/am.pl b/bin/mozilla/am.pl index 7549bc161..c84772813 100644 --- a/bin/mozilla/am.pl +++ b/bin/mozilla/am.pl @@ -742,7 +742,7 @@ sub language_header { print $::form->parse_html_template('am/language_header', { numberformats => [ '1,000.00', '1000.00', '1.000,00', '1000,00' ], - dateformats => [ qw(mm-dd-yy mm/dd/yy dd-mm-yy dd/mm/yy dd.mm.yy yyyy-mm-dd) ], + dateformats => [ qw(mm/dd/yy dd/mm/yy dd.mm.yy yyyy-mm-dd) ], }); $::lxdebug->leave_sub; @@ -1006,7 +1006,7 @@ sub config { my %myconfig = %main::myconfig; my $locale = $main::locale; - _build_cfg_options('dateformat', qw(mm-dd-yy mm/dd/yy dd-mm-yy dd/mm/yy dd.mm.yy yyyy-mm-dd)); + _build_cfg_options('dateformat', qw(mm/dd/yy dd/mm/yy dd.mm.yy yyyy-mm-dd)); _build_cfg_options('numberformat', ('1,000.00', '1000.00', '1.000,00', '1000,00')); my @formats = (); diff --git a/t/form/format_amount.t b/t/form/format_amount.t new file mode 100644 index 000000000..2c6e90da8 --- /dev/null +++ b/t/form/format_amount.t @@ -0,0 +1,44 @@ +use strict; +use Test::More; + +use lib 't'; + +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(); + + +my $config = {}; + + +$config->{numberformat} = '1.000,00'; + +is($form->format_amount($config, '1e1', 2), '10,00', 'blaa'); +is($form->format_amount($config, 1000, 2), '1.000,00', 'blaa'); +is($form->format_amount($config, 1000.1234, 2), '1.000,12', 'blaa'); +is($form->format_amount($config, 1000000000.1234, 2), '1.000.000.000,12', 'blaa'); +is($form->format_amount($config, -1000000000.1234, 2), '-1.000.000.000,12', 'blaa'); + + +$config->{numberformat} = '1,000.00'; + +is($form->format_amount($config, '1e1', 2), '10.00', 'blaa'); +is($form->format_amount($config, 1000, 2), '1,000.00', 'blaa'); +is($form->format_amount($config, 1000.1234, 2), '1,000.12', 'blaa'); +is($form->format_amount($config, 1000000000.1234, 2), '1,000,000,000.12', 'blaa'); +is($form->format_amount($config, -1000000000.1234, 2), '-1,000,000,000.12', 'blaa'); + +done_testing; + +1;