X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Foe.pl;h=72ad0d79930fd63915b196032a1b993cbe1fc9e6;hb=3d9df149ec915037561bebce349e6d49584749e0;hp=c1b281c6b09beeed9662a26f0aab987f87dd05c3;hpb=2c6997eca202daacb743c80d1d65c6faed61ad35;p=kivitendo-erp.git diff --git a/bin/mozilla/oe.pl b/bin/mozilla/oe.pl index c1b281c6b..72ad0d799 100644 --- a/bin/mozilla/oe.pl +++ b/bin/mozilla/oe.pl @@ -475,6 +475,18 @@ sub form_footer { $TMPL_VAR{notes} = qq||; $TMPL_VAR{intnotes} = qq||; + IS->get_customer(\%myconfig, \%$form) if $form->{type} =~ /sales_(order|quotation)/; + + if ( $form->{vc} eq 'customer' && !$form->{taxincluded_changed_by_user} ) { + if ( $form->{taxincluded_checked} eq 'y' ) { + $form->{taxincluded} = 1; + } elsif ( $form->{taxincluded_checked} eq 'n' ) { + $form->{taxincluded} = 0; + } else { + $form->{taxincluded} = $myconfig{taxincluded_checked}; + } + } + if (!$form->{taxincluded}) { foreach my $item (split / /, $form->{taxaccounts}) { @@ -1617,11 +1629,25 @@ sub save_as_new { delete($form->{$idx}); } - # clear reqdate unless changed - if ($form->{reqdate} && $form->{id}) { + # clear reqdate and transdate unless changed + if ( $form->{reqdate} && $form->{id} ) { my $saved_order = OE->retrieve_simple(id => $form->{id}); - if ($saved_order && $saved_order->{reqdate} eq $form->{reqdate}) { - delete $form->{reqdate}; + if ( $saved_order && $saved_order->{reqdate} eq $form->{reqdate} && $saved_order->{transdate} eq $form->{transdate} ) { + + my $dbh = $form->get_standard_dbh; + + my $wday = (localtime(time))[6]; + my $next_workday = $wday == 5 ? 3 : $wday == 6 ? 2 : 1; + + my $query = 'SELECT + date(current_date + interval \''. $next_workday .' days\') AS reqdate, + date(current_date) AS transdate'; + my $ref = selectfirst_hashref_query($form, $dbh, $query); + + map( + { $form->{$_} = $ref->{$_} } + keys %{$ref} + ); } }