Migration Freitext-Lagerfeld nach wirklichen Lager verbessert.
authorJan Büren <jan@kivitendo-premium.de>
Wed, 5 Jun 2013 06:50:06 +0000 (08:50 +0200)
committerJan Büren <jan@kivitendo-premium.de>
Wed, 5 Jun 2013 06:50:06 +0000 (08:50 +0200)
Automatisches Durchsuchen war unsauber, hier wurde nur der erste Treffer gefunden.
Leer-Auswahl von einzelnen Lagerplätze nachdem schon ein Lagerplatz ausgewählt wurde,
aktualisiert nicht den Lagerplatz richtig. Zumindestens beim Anlegen abgefangen und
ein Hinweis bei dem Migrationsdialog geschrieben.

locale/de/all
sql/Pg-upgrade2/default_bin_parts.pl
templates/webpages/dbupgrade/default_bin_parts.html

index 14872fb..4288fc9 100755 (executable)
@@ -830,6 +830,7 @@ $self->{texts} = {
   'Employee'                    => 'Bearbeiter',
   'Employee #1 saved!'          => 'Benutzer #1 gespeichert!',
   'Employees'                   => 'Benutzer',
+  'Empty selection for warehouse will not be added, even if the old bin is still visible (use back and forth to edit again).' => '',
   'Empty transaction!'          => 'Buchung ist leer!',
   'End date'                    => 'Enddatum',
   'Enter a description for this new draft.' => 'Geben Sie eine Beschreibung f&uuml;r diesen Entwurf ein.',
index 89ec619..948067c 100644 (file)
@@ -66,7 +66,9 @@ sub run {
     foreach my $i (1 .. $::form->{rowcount}) {
 
       # Best Case: Lagerplatz aus Liste gewählt
-      if ($::form->{"bin_id_$i"}) {
+      # bei zurückspringen auf leeres lager, wird der lagerplatz nicht zurückgesetzt
+      # erstmal an dieser stelle abfangen, damit nichts angelegt wird
+      if ($::form->{"bin_id_$i"} && $::form->{"warehouse_id_$i"}) {
         $prepared_update_query->execute($::form->{"warehouse_id_$i"}, $::form->{"bin_id_$i"}, $::form->{"partid_$i"}) || $self->db_error($update_query);
       } elsif ($CREATE_BINS) {
         # Lager vorhanden, bzw. vorher erstellt.  alte bins automatisch hinzufügen und zum Standardlagerplatz verdrahten
index 07b397e..2c7413d 100644 (file)
 
         control.options[bin_index].selected = true;
       }
+
       function bin_match(rowcount) {
-        for (i = 1; i < rowcount + 1; i++) {              // über alle parts_id
+        for (i = 1; i <= rowcount + 1; i++) {              // über alle parts_id
           var lagerplatz = document.getElementById("bin_" + i).value;
           var control = document.getElementById("bin_id_" + i);
           var bin_index = 0;
-          //alert(lagerplatz);
           for (j = 0; j < warehouses.length; j++) {       // über alle lager
             var warehouse = warehouses[j];
 
             for (k = 0; k < warehouse['bins'].length; k++) {       // über alle lagerplätze
 
               if (lagerplatz == warehouse['bins'][k]['description']) {
-                //alert('ware ' + warehouse['bins'][k]['description']);
                 var lager = document.getElementById("warehouse_id_" + i);
                 lager.selectedIndex = j;
                 bin_index = k;
+                for (bin_i = 0; bin_i < warehouse['bins'].length; bin_i++) {
+                  control.options[bin_i] = new Option(warehouse['bins'][bin_i]['description'], warehouse['bins'][bin_i]['id']);
+                }
+                control.options[bin_index].selected = true;
                 break;
                 /*var lagerplatz = document.getElementById("bin_id_" + i);
                 alert('lagerplatz ' + lagerplatz.value);
             }
           }
         }
-        for (i = 0; i < warehouse['bins'].length; i++) {
-                control.options[i] = new Option(warehouse['bins'][i]['description'], warehouse['bins'][i]['id']);
-              }
-              control.options[bin_index].selected = true;
-
 
       }
 
 <p>[% 'This has been changed in this version, therefore please change the "old" bins to some real warehouse bins.' | $T8 %]</p>
 <p>[% 'If your old bins match exactly Bins in the Warehouse CLICK on <b>AUTOMATICALLY MATCH BINS</b>.' | $T8 %]</p>
 <p>[% 'Otherwise you can simply check create warehouse and bins and define a name for the warehouse (Bins will be created automatically) and then continue'  | $T8 %]</p>
+<p>[% 'Empty selection for warehouse will not be added, even if the old bin is still visible (use back and forth to edit again).'  | $T8 %]</p>
 
 <table>
   <tr>