]> wagnertech.de Git - mfinanz.git/blobdiff - SL/Controller/CsvImport/Part.pm
%::myconfig dem Client javascript zur Verfügung stellen.
[mfinanz.git] / SL / Controller / CsvImport / Part.pm
index 75adc9778e91d9aa5049734fc0f67a7d998464b8..33301d140c4991dfb4969398f8c9fe337a87ecec 100644 (file)
@@ -427,10 +427,11 @@ sub handle_makemodel {
     return;
   }
 
-  my %old_makemodels_by_make = map { $_->make => $_ } $entry->{part}->makemodels;
+  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_make{$makemodel->make};
+    my $makemodel_orig = $old_makemodels_by_mm{$makemodel->make,$makemodel->model};
     $found_any = 1;
 
     if ($makemodel_orig) {
@@ -438,16 +439,16 @@ 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 };
 
-  $entry->{part}->makemodel($object->makemodel);
-
   $self->save_with_cascade(1) if $found_any;
 }