X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/fdac215685fca7fbe271fa550275f1937ff85383..93b69b192a3dcd39d09b7a7e24b1482bdfa69e6b:/SL/Controller/CsvImport/Part.pm diff --git a/SL/Controller/CsvImport/Part.pm b/SL/Controller/CsvImport/Part.pm index 763793243..9f4ed7284 100644 --- a/SL/Controller/CsvImport/Part.pm +++ b/SL/Controller/CsvImport/Part.pm @@ -427,23 +427,24 @@ 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; 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) { $makemodel_orig->model($makemodel->model); $makemodel_orig->lastcost($makemodel->lastcost); - $makemodel_orig->sortorder(undef); } else { $entry->{part}->add_makemodels($makemodel); } } - $entry->{part}->makemodel($object->makemodel); + # reindex makemodels + my $i = 0; + $_->sortorder(++$i) for @{ $entry->{part}->makemodels }; $self->save_with_cascade(1) if $found_any; }