X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FForm.pm;h=32064f3c0b3a37ed7067389affcd77d070451697;hb=6ac073dbcbdcdc3b5162617653530a32992574af;hp=099a6736e6181c6900cb93bfff2d032c0cb3f2f5;hpb=e998dd2f9cbfe2957484caee79bed2abc0762ec4;p=kivitendo-erp.git
diff --git a/SL/Form.pm b/SL/Form.pm
index 099a6736e..32064f3c0 100644
--- a/SL/Form.pm
+++ b/SL/Form.pm
@@ -66,6 +66,7 @@ use SL::IC;
use SL::IS;
use SL::Layout::Dispatcher;
use SL::Locale;
+use SL::Locale::String;
use SL::Mailer;
use SL::Menu;
use SL::MoreCommon qw(uri_encode uri_decode);
@@ -468,7 +469,7 @@ sub header {
# standard css for all
# this should gradually move to the layouts that need it
$layout->use_stylesheet("$_.css") for qw(
- main menu common list_accounts jquery.autocomplete
+ common main menu list_accounts jquery.autocomplete
jquery.multiselect2side
ui-lightness/jquery-ui
jquery-ui.custom
@@ -620,36 +621,12 @@ sub _prepare_html_template {
::end_of_request();
}
- if ($self->{"DEBUG"}) {
- $additional_params->{"DEBUG"} = $self->{"DEBUG"};
- }
-
- if ($additional_params->{"DEBUG"}) {
- $additional_params->{"DEBUG"} =
- "
DEBUG INFORMATION:
" . $additional_params->{"DEBUG"} . ""; - } - - if (%main::myconfig) { - $::myconfig{jsc_dateformat} = apply { - s/d+/\%d/gi; - s/m+/\%m/gi; - s/y+/\%Y/gi; - } $::myconfig{"dateformat"}; - $additional_params->{"myconfig"} ||= \%::myconfig; - map { $additional_params->{"myconfig_${_}"} = $main::myconfig{$_}; } keys %::myconfig; - } - + $additional_params->{AUTH} = $::auth; $additional_params->{INSTANCE_CONF} = $::instance_conf; - - if (my $debug_options = $::lx_office_conf{debug}{options}) { - map { $additional_params->{'DEBUG_' . uc($_)} = $debug_options->{$_} } keys %$debug_options; - } - - if ($main::auth && $main::auth->{RIGHTS} && $main::auth->{RIGHTS}->{$self->{login}}) { - while (my ($key, $value) = each %{ $main::auth->{RIGHTS}->{$self->{login}} }) { - $additional_params->{"AUTH_RIGHTS_" . uc($key)} = $value; - } - } + $additional_params->{LOCALE} = $::locale; + $additional_params->{LXCONFIG} = \%::lx_office_conf; + $additional_params->{LXDEBUG} = $::lxdebug; + $additional_params->{MYCONFIG} = \%::myconfig; $main::lxdebug->leave_sub(); @@ -821,6 +798,7 @@ sub format_amount { my $force_places = defined $places && $places >= 0; $amount = $self->round_amount($amount, abs $places) if $force_places; + $neg = 0 if $amount == 0; # don't show negative zero $amount = sprintf "%.*f", ($force_places ? $places : 10), abs $amount; # 6 is default for %fa # before the sprintf amount was a number, afterwards it's a string. because of the dynamic nature of perl @@ -837,7 +815,7 @@ sub format_amount { if ($places || $p[1]) { $amount .= $d[0] . ( $p[1] || '' ) - . (0 x (abs($places || 0) - length ($p[1]||''))); # pad the fraction + . (0 x max(abs($places || 0) - length ($p[1]||''), 0)); # pad the fraction } $amount = do { @@ -980,7 +958,9 @@ sub round_amount { # part. If an overflow occurs then apply that overflow to the part # before the decimal sign as well using integer arithmetic again. - my $amount_str = sprintf '%.*f', $places + 10, abs($amount); + my $int_amount = int(abs $amount); + my $str_places = max(min(10, 16 - length("$int_amount") - $places), $places); + my $amount_str = sprintf '%.*f', $places + $str_places, abs($amount); return $amount unless $amount_str =~ m{^(\d+)\.(\d+)$}; @@ -2614,9 +2594,10 @@ sub mtime_ischanged { $ref->{mtime} ||= $ref->{itime}; if ($self->{lastmtime} && $self->{lastmtime} ne $ref->{mtime} ) { - my $etxt = ($option eq 'mail') ? "The document has been changed by another user. Please reopen it in another window and copy the changes to the new window" : - "The document has been changed by another user. No mail was sent. Please reopen it in another window and copy the changes to the new window"; - $self->error($main::locale->text($etxt)); + $self->error(($option eq 'mail') ? + t8("The document has been changed by another user. No mail was sent. Please reopen it in another window and copy the changes to the new window") : + t8("The document has been changed by another user. Please reopen it in another window and copy the changes to the new window") + ); ::end_of_request(); } }