X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=SL%2FForm.pm;h=810891ef9a8510a3679083aacc7e36ebbfc17a9a;hb=c8e0c77f4da1fe14f1294a3be2e437c24f40eaea;hp=3c809b3026053f8591f568a6c3e17ac7ac2737e6;hpb=56f7991d4910ae12c7d16aab025a2ab242ca5eeb;p=kivitendo-erp.git diff --git a/SL/Form.pm b/SL/Form.pm index 3c809b302..810891ef9 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; @@ -470,11 +471,11 @@ sub header { main menu list_accounts jquery.autocomplete jquery.multiselect2side frame_header/header ui-lightness/jquery-ui - jquery-ui.custom + jquery-ui.custom jqModal ); $layout->use_javascript("$_.js") for (qw( - jquery jquery-ui jquery.cookie jqModal jquery.checkall + jquery jquery-ui jquery.cookie jqModal jquery.checkall jquery.download common part_selection switchmenuframe ), "jquery/ui/i18n/jquery.ui.datepicker-$::myconfig{countrycode}"); @@ -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, @@ -923,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; @@ -984,7 +998,6 @@ sub parse_template { $ext_for_format = $self->{"format"} =~ m/pdf/ ? 'pdf' : 'odt'; } elsif ($self->{"format"} =~ /(postscript|pdf)/i) { - $ENV{"TEXINPUTS"} = ".:" . getcwd() . "/" . $myconfig->{"templates"} . ":" . $ENV{"TEXINPUTS"}; $template_type = 'LaTeX'; $ext_for_format = 'pdf'; @@ -3176,15 +3189,8 @@ 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 = 0 if !defined($var) || ($var eq ''); + $var = SL::PrefixedNumber->new(number => $var)->get_next; $query = qq|UPDATE defaults SET $fld = ?|; do_query($self, $dbh, $query, $var); @@ -3401,7 +3407,7 @@ sub prepare_for_printing { IC->retrieve_accounts(\%::myconfig, $self, map { $_ => $self->{"id_$_"} } 1 .. $self->{rowcount}); if ($self->{type} =~ /_delivery_order$/) { - DO->order_details(); + DO->order_details(\%::myconfig, $self); } elsif ($self->{type} =~ /sales_order|sales_quotation|request_quotation|purchase_order/) { OE->order_details(\%::myconfig, $self); } else {