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
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();