X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Foe.pl;h=abf4bf60e4ad6f1f4e3a71ca5f6415d0b5b3bd50;hb=a751b16cead5e56b62e18ee616e04323919f5fe1;hp=1e105aac2e3274fed772e46e6dae5f28616afc27;hpb=82ab26a0d201bf24aba85e058e1cb23928a4b44a;p=kivitendo-erp.git diff --git a/bin/mozilla/oe.pl b/bin/mozilla/oe.pl index 1e105aac2..abf4bf60e 100644 --- a/bin/mozilla/oe.pl +++ b/bin/mozilla/oe.pl @@ -236,7 +236,7 @@ sub order_links { if ($taxzone_id) { $form->{taxzone_id} = $taxzone_id; } - $form->{intnotes} = $intnotes; + $form->{intnotes} = $intnotes if $intnotes; ($form->{ $form->{vc} }) = split /--/, $form->{ $form->{vc} }; $form->{"old$form->{vc}"} = qq|$form->{$form->{vc}}--$form->{"$form->{vc}_id"}|; @@ -1115,6 +1115,8 @@ sub form_footer { |; } + $form->hide_form("saved_xyznumber"); + print qq| {rowcount}> @@ -2110,11 +2112,9 @@ sub invoice { # these checks only apply if the items don't bring their own ordnumbers/transdates. # The if clause ensures that by searching for empty ordnumber_#/transdate_# fields. $form->isblank("ordnumber", $locale->text('Order Number missing!')) - if (+{ map { $form->{"ordnumber_$_"}, 1 } (1 .. $form->{rowcount} - 1) } - ->{''}); + if (+{ map { $form->{"ordnumber_$_"}, 1 } (1 .. $form->{rowcount} - 1) }->{''}); $form->isblank("transdate", $locale->text('Order Date missing!')) - if (+{ map { $form->{"transdate_$_"}, 1 } (1 .. $form->{rowcount} - 1) } - ->{''}); + if (+{ map { $form->{"transdate_$_"}, 1 } (1 .. $form->{rowcount} - 1) }->{''}); # also copy deliverydate from the order $form->{deliverydate} = $form->{reqdate} if $form->{reqdate}; @@ -2419,7 +2419,15 @@ sub save_as_new { $form->{saveasnew} = 1; $form->{closed} = 0; - map { delete $form->{$_} } qw(printed emailed queued ordnumber quonumber); + map { delete $form->{$_} } qw(printed emailed queued); + + # Let Lx-Office assign a new order number if the user hasn't changed the + # previous one. If it has been changed manually then use it as-is. + my $idx = $form->{type} =~ /_quotation$/ ? "quonumber" : "ordnumber"; + if ($form->{saved_xyznumber} && + ($form->{saved_xyznumber} eq $form->{$idx})) { + delete($form->{$idx}); + } &save; @@ -2501,3 +2509,26 @@ sub poso { $lxdebug->leave_sub(); } +sub e_mail { + $lxdebug->enter_sub(); + + $form->{saveasnew} = 1; + $form->{closed} = 0; + $form->{print_and_save} = 1; + map { delete $form->{$_} } qw(printed emailed queued); + + # Let Lx-Office assign a new order number if the user hasn't changed the + # previous one. If it has been changed manually then use it as-is. + my $idx = $form->{type} =~ /_quotation$/ ? "quonumber" : "ordnumber"; + if ($form->{saved_xyznumber} && + ($form->{saved_xyznumber} eq $form->{$idx})) { + delete($form->{$idx}); + } + + &save; + + &edit_e_mail; + + $lxdebug->leave_sub(); +} +