Verhindern, dass Lieferscheine mehrfach ein- bzw. ausgelagert werden können
authorMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 23 May 2011 08:46:06 +0000 (10:46 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 23 May 2011 08:46:06 +0000 (10:46 +0200)
Ging in 088bf5a0 kaputt. Fix für Bug 1660.

bin/mozilla/do.pl

index 10deb0c..b9cfc02 100644 (file)
@@ -1248,16 +1248,16 @@ sub set_stock_out {
 sub transfer_in {
   $main::lxdebug->enter_sub();
 
-  save(no_redirect => 1);
-
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
 
-  if (DO->is_marked_as_delivered('id' => $form->{id})) {
+  if ($form->{id} && DO->is_marked_as_delivered(id => $form->{id})) {
     $form->show_generic_error($locale->text('The parts for this delivery order have already been transferred in.'), 'back_button' => 1);
   }
 
+  save(no_redirect => 1);
+
   my @part_ids = map { $form->{"id_${_}"} } grep { $form->{"id_${_}"} && $form->{"stock_in_${_}"} } (1 .. $form->{rowcount});
   my @all_requests;
 
@@ -1316,16 +1316,16 @@ sub transfer_in {
 sub transfer_out {
   $main::lxdebug->enter_sub();
 
-  save(no_redirect => 1);
-
   my $form     = $main::form;
   my %myconfig = %main::myconfig;
   my $locale   = $main::locale;
 
-  if (DO->is_marked_as_delivered('id' => $form->{id})) {
+  if ($form->{id} && DO->is_marked_as_delivered(id => $form->{id})) {
     $form->show_generic_error($locale->text('The parts for this delivery order have already been transferred out.'), 'back_button' => 1);
   }
 
+  save(no_redirect => 1);
+
   my @part_ids = map { $form->{"id_${_}"} } grep { $form->{"id_${_}"} && $form->{"stock_out_${_}"} } (1 .. $form->{rowcount});
   my @all_requests;