X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fdo.pl;h=6adf190ead6d9836d575d2d144694d01825753eb;hb=5c8a0b36440e012cd0a54e6b68eb3d1411243b1a;hp=4f55310aa987a249958cb08a9462b9411fa52b91;hpb=ebde433eafcab4a66983c990eac87bd845f3ec8e;p=kivitendo-erp.git diff --git a/bin/mozilla/do.pl b/bin/mozilla/do.pl index 4f55310aa..6adf190ea 100644 --- a/bin/mozilla/do.pl +++ b/bin/mozilla/do.pl @@ -245,8 +245,7 @@ sub setup_do_action_bar { my $insertdate = DateTime->from_kivitendo($::form->{insertdate}); my $undo_transfer = 0; if (ref $undo_date eq 'DateTime' && ref $insertdate eq 'DateTime') { - # DateTime->compare it returns 1 if $dt1 > $dt2 - $undo_transfer = DateTime->compare($insertdate, $undo_date) == 1 ? 1 : 0; + $undo_transfer = $insertdate > $undo_date; } for my $bar ($::request->layout->get('actionbar')) { $bar->add( @@ -925,6 +924,12 @@ sub save { remove_emptied_rows(); validate_items(); + # check for serial number if part needs one + for my $i (1 .. $form->{rowcount} - 1) { + next unless $form->{"has_sernumber_$i"}; + $form->isblank("serialnumber_$i", + $locale->text('Serial Number missing in Row') . " $i"); + } # if the name changed get new values my $vc = $form->{vc}; if (($form->{"previous_${vc}_id"} || $form->{"${vc}_id"}) != $form->{"${vc}_id"}) { @@ -938,7 +943,20 @@ sub save { } $form->{id} = 0 if $form->{saveasnew}; - + # we rely on converted_from_orderitems, if the workflow is used + # be sure that at least one position is linked to the original orderitem + if ($form->{convert_from_oe_ids}) { + my $has_linked_pos; + for my $i (1 .. $form->{rowcount}) { + if ($form->{"converted_from_orderitems_id_$i"}) { + $has_linked_pos = 1; + last; + } + } + if (!$has_linked_pos) { + $form->error($locale->text('Need at least one original position for the workflow Order to Delivery Order!')); + } + } DO->save(); # saving the history if(!exists $form->{addition}) {