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;
}