Lagerplätze anlegen: Nummerierung mit Anzahl existierender Lagerplätze starten
authorMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 29 Jul 2013 14:31:31 +0000 (16:31 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Mon, 29 Jul 2013 14:31:31 +0000 (16:31 +0200)
...und nicht mit 1, weil ansonsten beim mehrfachen Anlegen die Nummern
doppelt und dreifach vergeben werden. Fixt #2325.

SL/AM.pm

index cf48de6..5764c6a 100644 (file)
--- a/SL/AM.pm
+++ b/SL/AM.pm
@@ -1785,11 +1785,12 @@ sub save_warehouse {
            $form->{description}, $form->{invalid} ? 't' : 'f', conv_i($form->{id}));
 
   if (0 < $form->{number_of_new_bins}) {
+    my ($num_existing_bins) = selectfirst_array_query($form, $dbh, qq|SELECT COUNT(*) FROM bin WHERE warehouse_id = ?|, $form->{id});
     $query = qq|INSERT INTO bin (warehouse_id, description) VALUES (?, ?)|;
     $sth   = prepare_query($form, $dbh, $query);
 
     foreach my $i (1..$form->{number_of_new_bins}) {
-      do_statement($form, $sth, $query, conv_i($form->{id}), "$form->{prefix}${i}");
+      do_statement($form, $sth, $query, conv_i($form->{id}), "$form->{prefix}" . ($i + $num_existing_bins));
     }
 
     $sth->finish();