CsvImport: Makemodels auch auf instabilen Datenbanken in der richtigen Reihenfolge...
authorSven Schöling <s.schoeling@linet-services.de>
Fri, 12 Dec 2014 16:20:32 +0000 (17:20 +0100)
committerSven Schöling <s.schoeling@linet-services.de>
Fri, 12 Dec 2014 16:20:32 +0000 (17:20 +0100)
SL/Controller/CsvImport/Part.pm

index 9f4ed72..33301d1 100644 (file)
@@ -428,6 +428,7 @@ sub handle_makemodel {
   }
 
   my %old_makemodels_by_mm = map { $_->make . $; . $_->model => $_ } $entry->{part}->makemodels;
+  my @new_makemodels;
 
   foreach my $makemodel ($object->makemodels()) {
     my $makemodel_orig = $old_makemodels_by_mm{$makemodel->make,$makemodel->model};
@@ -438,10 +439,12 @@ sub handle_makemodel {
       $makemodel_orig->lastcost($makemodel->lastcost);
 
     } else {
-      $entry->{part}->add_makemodels($makemodel);
+      push @new_makemodels, $makemodel;
     }
   }
 
+  $entry->{part}->makemodels([ $entry->{part}->makemodels, @new_makemodels ]) if @new_makemodels;
+
   # reindex makemodels
   my $i = 0;
   $_->sortorder(++$i) for @{ $entry->{part}->makemodels };