ribbon discounts now work with ribbons purchased previously
This commit is contained in:
parent
d1253c705f
commit
87cf7c26f5
1 changed files with 16 additions and 4 deletions
|
|
@ -254,11 +254,23 @@ sub getPrice {
|
||||||
my $self = shift;
|
my $self = shift;
|
||||||
my @ribbonIds = split("\n", $self->get('relatedRibbons'));
|
my @ribbonIds = split("\n", $self->get('relatedRibbons'));
|
||||||
my $price = $self->get("price");
|
my $price = $self->get("price");
|
||||||
foreach my $item (@{$self->getCart->getItemsByAssetId(\@ribbonIds)}) {
|
my $discount = 0;
|
||||||
my $ribbon = $item->getSku;
|
my $badgeId = $self->getOptions->{badgeId};
|
||||||
$price -= ($price * $ribbon->get('percentageDiscount') / 100);
|
my $ribbonId = $self->session->db->quickScalar("select ribbonAssetId from EMSRegistrantRibbon where badgeId=? limit 1",[$badgeId]);
|
||||||
last;
|
if (defined $ribbonId) {
|
||||||
|
my $ribbon = WebGUI::Asset->new($self->session,$ribbonId,'WebGUI::Asset::Sku::Ribbon');
|
||||||
|
$discount = $ribbon->get('percentageDiscount');
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
foreach my $item (@{$self->getCart->getItemsByAssetId(\@ribbonIds)}) {
|
||||||
|
if ($item->get('options')->{badgeId} eq $badgeId) {
|
||||||
|
my $ribbon = $item->getSku;
|
||||||
|
$discount = $ribbon->get('percentageDiscount');
|
||||||
|
last;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$price -= ($price * $discount / 100);
|
||||||
return $price;
|
return $price;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue