voucher saftey
This commit is contained in:
@@ -260,6 +260,10 @@ func (c *CartGrain) UpdateTotals() {
|
|||||||
for _, voucher := range c.Vouchers {
|
for _, voucher := range c.Vouchers {
|
||||||
if _, ok := voucher.AppliesTo(c); ok {
|
if _, ok := voucher.AppliesTo(c); ok {
|
||||||
value := NewPriceFromIncVat(voucher.Value, 25)
|
value := NewPriceFromIncVat(voucher.Value, 25)
|
||||||
|
if c.TotalPrice.IncVat <= value.IncVat {
|
||||||
|
// don't apply discounts to more than the total price
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
c.TotalDiscount.Add(*value)
|
c.TotalDiscount.Add(*value)
|
||||||
c.TotalPrice.Subtract(*value)
|
c.TotalPrice.Subtract(*value)
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ type Voucher struct {
|
|||||||
|
|
||||||
type Service struct {
|
type Service struct {
|
||||||
// Add fields here
|
// Add fields here
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var ErrInvalidCode = errors.New("invalid vouchercode")
|
var ErrInvalidCode = errors.New("invalid vouchercode")
|
||||||
|
|||||||
Reference in New Issue
Block a user