Add items with no price

This commit is contained in:
Joel Male
2024-08-26 10:38:20 +10:00
parent e49ebe02e0
commit 54d94d8d12
4 changed files with 21 additions and 5 deletions
+6 -3
View File
@@ -164,6 +164,7 @@ public function add(
$this->add(
$id['id'],
$id['name'],
// isset($id['price']) ? $id['price'] : null,
$id['price'],
$id['quantity'],
Helpers::issetAndHasValueOrAssignDefault($id['attributes'], []),
@@ -698,15 +699,17 @@ protected function validate($item)
{
$rules = [
'id' => 'required',
'price' => 'required|numeric',
'quantity' => 'required|numeric|min:0.1',
'name' => 'required',
'quantity' => 'required|numeric|min:0.1',
];
$validator = CartItemValidator::make($item, $rules);
if ($validator->fails()) {
throw new InvalidItemException($validator->messages()->first());
// if the error is due to quantity
if ($validator->errors()->first('quantity') === 'The quantity must be at least 0.1.') {
throw new InvalidItemException('The quantity must be at least 0.1.');
}
}
return $item;
+1 -1
View File
@@ -7,7 +7,7 @@ class Helpers
/**
* Normalize prices
*/
public static function normalizePrice($price): float
public static function normalizePrice($price): ?float
{
return (is_string($price)) ? floatval($price) : $price;
}