From: Jan Büren Date: Tue, 21 Jan 2014 15:26:16 +0000 (+0100) Subject: Fälligkeitsdatum auf Rechnungsdatum setzen, falls nichts weiter konfiguriert (#2440) X-Git-Tag: release-3.1.0beta1~21^2^2^2 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=dc262059118923b89a2af8e7990cdb5cf3b48b57;p=kivitendo-erp.git Fälligkeitsdatum auf Rechnungsdatum setzen, falls nichts weiter konfiguriert (#2440) Ist in io.pl auch schon so vorgesehen: print $form->ajax_response_header() . ($duedate || $invdate); Allerdings schmeißt die get_duedate-Funktion in Form.pm einen Fehler, weil keine der benötigten Parameter übergeben werden. S.a. Debug von $self: 'script' => 'is.pl', 'titlebar' => 'kivitendo Version 3.0.0', 'version' => '3.0.0', 'action' => 'set_duedate', 'payment_id' => '', 'invdate' => '14.01.2014', 'login' => 'jan_skr04' }, 'Form' ); Von daher die Erweiterung, ob invdate existiert und enstprechend ein undef als Rückgabewert closes #2440 --- diff --git a/SL/Form.pm b/SL/Form.pm index a11b7adb6..eb3565d44 100644 --- a/SL/Form.pm +++ b/SL/Form.pm @@ -1955,8 +1955,8 @@ sub get_duedate { my $terms = $self->{payment_id} ? SL::DB::PaymentTerm->new(id => $self->{payment_id}) ->load : $self->{customer_id} ? SL::DB::Customer ->new(id => $self->{customer_id})->load->payment : $self->{vendor_id} ? SL::DB::Vendor ->new(id => $self->{vendor_id}) ->load->payment - : croak("Missing field in \$::form: payment_id, customer_id or vendor_id"); - + : $self->{invdate} ? undef # no payment terms, therefore invdate == duedate + : croak("Missing field in \$::form: payment_id, customer_id, vendor_id or invdate"); my $duedate = $terms ? $terms->calc_date(reference_date => $reference_date)->to_kivitendo : undef; $main::lxdebug->leave_sub();