X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FForm.pm;h=044d45f53837709508e04b4769207ff9ae99ca0a;hb=5551a36b8f059aa03a371fb5a851c116d305fccb;hp=f406817f6ef83404ac657f84ece1b478a3a01a22;hpb=d623e974c5f456dab9a691df3fb57c6dba1e1865;p=kivitendo-erp.git diff --git a/SL/Form.pm b/SL/Form.pm index f406817f6..044d45f53 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -62,6 +62,7 @@ use SL::Mailer; use SL::Menu; use SL::MoreCommon qw(uri_encode uri_decode); use SL::OE; +use SL::PrefixedNumber; use SL::Request; use SL::Template; use SL::User; @@ -469,16 +470,14 @@ sub header { $layout->use_stylesheet("$_.css") for qw( main menu list_accounts jquery.autocomplete jquery.multiselect2side frame_header/header - ui-lightness/jquery-ui-1.8.12.custom + ui-lightness/jquery-ui jquery-ui.custom - js/jscalendar/calendar-win2k-1 ); - $layout->use_javascript("$_.js") for qw( - jquery common jscalendar/calendar jscalendar/lang/calendar-de - jscalendar/calendar-setup part_selection jquery-ui jquery.cookie jqModal - switchmenuframe - ); + $layout->use_javascript("$_.js") for (qw( + jquery jquery-ui jquery.cookie jqModal jquery.checkall + common part_selection switchmenuframe + ), "jquery/ui/i18n/jquery.ui.datepicker-$::myconfig{countrycode}"); $self->{favicon} ||= "favicon.ico"; $self->{titlebar} = join ' - ', grep $_, $self->{title}, $self->{login}, $::myconfig{dbname}, $self->{version} if $self->{title} || !$self->{titlebar}; @@ -490,10 +489,12 @@ sub header { push @header, ""; } - push @header, map { qq|| } $layout->stylesheets; + my $auto_reload_resources_param = $layout->auto_reload_resources_param; + + push @header, map { qq|| } $layout->stylesheets; push @header, " " if $self->{landscape}; push @header, "" if -f $self->{favicon}; - push @header, map { qq|| } $layout->javascripts; + push @header, map { qq|| } $layout->javascripts; push @header, $self->{javascript} if $self->{javascript}; push @header, map { $_->show_javascript } @{ $self->{AJAX} || [] }; @@ -704,6 +705,14 @@ sub show_generic_error { return; } + if ($::request->is_ajax) { + $::lxdebug->message(0, "trying to render AJAX response..."); + SL::ClientJS->new + ->error($error) + ->render(SL::Controller::Base->new); + ::end_of_request(); + } + my $add_params = { 'title_error' => $params{title}, 'label_error' => $error, @@ -755,51 +764,6 @@ sub show_generic_information { ::end_of_request(); } -# write Trigger JavaScript-Code ($qty = quantity of Triggers) -# changed it to accept an arbitrary number of triggers - sschoeling -sub write_trigger { - $main::lxdebug->enter_sub(); - - my $self = shift; - my $myconfig = shift; - my $qty = shift; - - # set dateform for jsscript - # default - my %dateformats = ( - "dd.mm.yy" => "%d.%m.%Y", - "dd/mm/yy" => "%d/%m/%Y", - "mm/dd/yy" => "%m/%d/%Y", - "yyyy-mm-dd" => "%Y-%m-%d", - ); - - my $ifFormat = defined($dateformats{$myconfig->{"dateformat"}}) ? - $dateformats{$myconfig->{"dateformat"}} : "%d.%m.%Y"; - - my @triggers; - while ($#_ >= 2) { - push @triggers, qq| - Calendar.setup( - { - inputField : "| . (shift) . qq|", - ifFormat :"$ifFormat", - align : "| . (shift) . qq|", - button : "| . (shift) . qq|" - } - ); - |; - } - my $jsscript = qq| - - |; - - $main::lxdebug->leave_sub(); - - return $jsscript; -} #end sub write_trigger - sub _store_redirect_info_in_session { my ($self) = @_; @@ -968,6 +932,11 @@ sub parse_amount { my ($self, $myconfig, $amount) = @_; + if (!defined($amount) || ($amount eq '')) { + $main::lxdebug->leave_sub(2); + return 0; + } + if ( ($myconfig->{numberformat} eq '1.000,00') || ($myconfig->{numberformat} eq '1000,00')) { $amount =~ s/\.//g; @@ -3221,15 +3190,7 @@ sub update_defaults { my ($var) = $sth->fetchrow_array; $sth->finish; - if ($var =~ m/\d+$/) { - my $new_var = (substr $var, $-[0]) * 1 + 1; - my $len_diff = length($var) - $-[0] - length($new_var); - $var = substr($var, 0, $-[0]) . ($len_diff > 0 ? '0' x $len_diff : '') . $new_var; - - } else { - $var = $var . '1'; - } - + $var = SL::PrefixedNumber->new(number => $var)->get_next; $query = qq|UPDATE defaults SET $fld = ?|; do_query($self, $dbh, $query, $var);