3 Punkte:
- Preisupdates wurden auf dem falschen Objekt gemacht wenn die Ware schon
vorhanden war. Dadurch wurden die neuen Preise nicht
zurückgespeichert. Das ist jetzt behoben.
- Preisupdates wurden nicht vorgenommen, wenn der Name des Preises (z.B.
sellprice) nicht im Header vorhanden war. Wenn er vorhanden war, wurde
aber der neue absolute Preis gesetzt was prozentuale Updates kaputt
macht.
- Preisupdates wurden potenziell auf alles drei Preisen vorgenommen, was
nach dem zweiten Fix keinen Sinn macht. Jetzt nur noch Verkaufspreis.
sub handle_prices {
my ($self, $entry) = @_;
- foreach my $column (qw(sellprice listprice lastcost)) {
- next unless $self->controller->headers->{used}->{ $column };
-
+ foreach my $column (qw(sellprice)) {
+ my $object = $entry->{object_to_save} || $entry->{object};
my $adjustment = $self->settings->{sellprice_adjustment};
- my $value = $entry->{object}->$column;
+ my $value = $object->$column;
$value = $self->settings->{sellprice_adjustment_type} eq 'percent' ? $value * (100 + $adjustment) / 100 : $value + $adjustment;
- $entry->{object}->$column($::form->round_amount($value, $self->settings->{sellprice_places}));
+ $object->$column($::form->round_amount($value, $self->settings->{sellprice_places}));
}
}