X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fis.pl;h=ecc5f5577ca7836a8398c98c2b71c1421fc65f9d;hb=1cc72c5b3b422fcd5970b3072d0d922d89fffc13;hp=6184128b15ec85696a4b4fa89a9d88d9d00b7a77;hpb=3cd3e832747e15c4fc6b69bd185b0159f1a8dbd3;p=kivitendo-erp.git diff --git a/bin/mozilla/is.pl b/bin/mozilla/is.pl index 6184128b1..ecc5f5577 100644 --- a/bin/mozilla/is.pl +++ b/bin/mozilla/is.pl @@ -35,10 +35,12 @@ use SL::FU; use SL::IS; use SL::PE; use SL::OE; -use SL::DB::Default; use Data::Dumper; use List::Util qw(max sum); +use SL::DB::Default; +use SL::DB::Customer; + require "bin/mozilla/io.pl"; require "bin/mozilla/invoice_io.pl"; require "bin/mozilla/arap.pl"; @@ -74,8 +76,6 @@ sub add { $form->{callback} = "$form->{script}?action=add&type=$form->{type}" unless $form->{callback}; - $form->{jsscript} = "date"; - &invoice_links; &prepare_invoice; &display_form; @@ -136,7 +136,7 @@ sub invoice_links { $form->{vc} = 'customer'; # create links - $form->{webdav} = $::lx_office_conf{features}->{webdav}; + $form->{webdav} = $::instance_conf->get_webdav; $form->create_links("AR", \%myconfig, "customer"); @@ -351,8 +351,6 @@ sub form_header { $TMPL_VAR{creditwarning} = ($form->{creditlimit} != 0) && ($form->{creditremaining} < 0) && !$form->{update}; $TMPL_VAR{is_credit_remaining_negativ} = $form->{creditremaining} =~ /-/; - $::request->{layout}->focus('#customer'); - my $follow_up_vc = $form->{customer}; $follow_up_vc =~ s/--\d*\s*$//; $TMPL_VAR{customer_name} = $follow_up_vc; @@ -379,7 +377,6 @@ sub form_header { ), @custom_hiddens, map { $_.'_rate', $_.'_description', $_.'_taxnumber' } split / /, $form->{taxaccounts}]; - $form->{jsscript} = 1; $form->header(); print $form->parse_html_template("is/form_header", \%TMPL_VAR); @@ -406,14 +403,11 @@ sub form_footer { # tax, total and subtotal calculations my ($tax, $subtotal); - $form->{taxaccounts_array} = [ split / /, $form->{taxaccounts} ]; - - my $paymet_id = $::form->{payment_id}; - IS->get_customer(\%myconfig, \%$form) if $form->{type} =~ /sales_(order|quotation)/; - $::form->{payment_id} = $paymet_id; + $form->{taxaccounts_array} = [ split(/ /, $form->{taxaccounts}) ]; - if ( $form->{vc} eq 'customer' && !$form->{taxincluded_changed_by_user} ) { - $form->{taxincluded} = defined($form->{taxincluded_checked}) ? $form->{taxincluded_checked} : $myconfig{taxincluded_checked}; + if( $form->{customer_id} && !$form->{taxincluded_changed_by_user} ) { + my $customer = SL::DB::Customer->new(id => $form->{customer_id})->load(); + $form->{taxincluded} = defined($customer->taxincluded_checked) ? $customer->taxincluded_checked : $myconfig{taxincluded_checked}; } foreach my $item (@{ $form->{taxaccounts_array} }) { @@ -553,7 +547,10 @@ sub update { } if ($rows) { - $form->{"qty_$i"} = ($form->{"qty_$i"} * 1) ? $form->{"qty_$i"} : 1; + $form->{"qty_$i"} = $form->parse_amount(\%myconfig, $form->{"qty_$i"}); + if( !$form->{"qty_$i"} ) { + $form->{"qty_$i"} = 1; + } if ($rows > 1) { @@ -717,6 +714,8 @@ sub post { my $closedto = $form->datetonum($form->{closedto}, \%myconfig); my $invdate = $form->datetonum($form->{invdate}, \%myconfig); + $form->error($locale->text('Cannot post transaction above the maximum future booking date!')) + if ($form->date_max_future($invdate, \%myconfig)); $form->error($locale->text('Cannot post invoice for a closed period!')) if ($invdate <= $closedto);