use SL::DB::MetaSetup::PriceRule;
use SL::DB::Manager::PriceRule;
-use Rose::DB::Object::Helpers qw(clone_and_reset);
use SL::Locale::String qw(t8);
__PACKAGE__->meta->add_relationship(
my ($self, $value) = @_;
if (@_ > 1) {
- my $number = $self->price || $self->discount;
+ my $number = $self->price || $self->discount || $self->reduction;
if ($value == SL::DB::Manager::PriceRule::PRICE_NEW()) {
$self->price($number);
} elsif ($value == SL::DB::Manager::PriceRule::PRICE_REDUCED_MASTER_DATA()) {
my @errors;
push @errors, $::locale->text('The name must not be empty.') if !$self->name;
push @errors, $::locale->text('Price or discount must not be zero.') if !$self->price && !$self->discount && !$self->reduction;
- push @errors, $::locale->text('Pirce rules must have at least one rule.') if !@{[ $self->items ]};
+ push @errors, $::locale->text('Price rules must have at least one rule.') if !@{[ $self->items ]};
+ push @errors, $_->validate for $self->items;
return @errors;
}