X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/927ec7273b39dffbd1cb91062fed46c60d9be47f..7a364ba1ae70e219988264ca2b9aeb528e0cb14a:/bin/mozilla/do.pl diff --git a/bin/mozilla/do.pl b/bin/mozilla/do.pl index f63254dc4..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}) { @@ -1624,6 +1642,7 @@ sub transfer_in { SL::DB::DeliveryOrder->new(id => $form->{id})->load->update_attributes(delivered => 1); + flash_later('info', $locale->text("Transfer successful")); $form->{callback} = 'do.pl?action=edit&type=purchase_delivery_order&id=' . $form->escape($form->{id}); $form->redirect; @@ -1742,6 +1761,7 @@ sub transfer_out { SL::DB::DeliveryOrder->new(id => $form->{id})->load->update_attributes(delivered => 1); + flash_later('info', $locale->text("Transfer successful")); $form->{callback} = 'do.pl?action=edit&type=sales_delivery_order&id=' . $form->escape($form->{id}); $form->redirect;