This commit is contained in:
Patrick Henninger
2020-08-29 16:19:12 +02:00
parent 238d8cf7d9
commit 791747c28d
3 changed files with 15 additions and 11 deletions

View File

@@ -4,10 +4,12 @@ namespace Gloudemans\Shoppingcart\Calculation;
use Gloudemans\Shoppingcart\CartItem; use Gloudemans\Shoppingcart\CartItem;
class DefaultCalculator { class DefaultCalculator
static function getAttribute(string $attribute, CartItem $cartItem) { {
public static function getAttribute(string $attribute, CartItem $cartItem)
{
$decimals = config('cart.format.decimals', 2); $decimals = config('cart.format.decimals', 2);
switch ($attribute) { switch ($attribute) {
case 'discount': case 'discount':
return $cartItem->price * ($cartItem->getDiscountRate() / 100); return $cartItem->price * ($cartItem->getDiscountRate() / 100);
@@ -31,4 +33,4 @@ class DefaultCalculator {
return; return;
} }
} }
} }

View File

@@ -4,10 +4,12 @@ namespace Gloudemans\Shoppingcart\Calculation;
use Gloudemans\Shoppingcart\CartItem; use Gloudemans\Shoppingcart\CartItem;
class GrossPrice { class GrossPrice
static function getAttribute(string $attribute, CartItem $cartItem) { {
public static function getAttribute(string $attribute, CartItem $cartItem)
{
$decimals = config('cart.format.decimals', 2); $decimals = config('cart.format.decimals', 2);
switch ($attribute) { switch ($attribute) {
case 'priceNet': case 'priceNet':
return round($cartItem->price / (1 + ($cartItem->taxRate / 100)), $decimals); return round($cartItem->price / (1 + ($cartItem->taxRate / 100)), $decimals);
@@ -33,4 +35,4 @@ class GrossPrice {
return; return;
} }
} }
} }

View File

@@ -397,8 +397,8 @@ class CartItem implements Arrayable, Jsonable
case 'weightTotal': case 'weightTotal':
return round($this->weight * $this->qty, $decimals); return round($this->weight * $this->qty, $decimals);
} }
return call_user_func(config('cart.calculator', DefaultCalculator::class) . '::getAttribute', $attribute, $this); return call_user_func(config('cart.calculator', DefaultCalculator::class).'::getAttribute', $attribute, $this);
} }
/** /**
@@ -528,4 +528,4 @@ class CartItem implements Arrayable, Jsonable
{ {
return $this->discountRate; return $this->discountRate;
} }
} }