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}
+ );
}
}