diff --git a/app/Http/Middleware/Money.php b/app/Http/Middleware/Money.php index 5e02bc6c1..8c206ab6d 100644 --- a/app/Http/Middleware/Money.php +++ b/app/Http/Middleware/Money.php @@ -3,9 +3,11 @@ namespace App\Http\Middleware; use Closure; -use InvalidArgumentException; use OutOfBoundsException; +use Illuminate\Support\Str; +use InvalidArgumentException; use UnexpectedValueException; + class Money { /** @@ -72,6 +74,38 @@ class Money $request->request->set('opening_balance', $opening_balance); } + + if (isset($sale_price)) { + $sale_price = Str::replaceFirst(',', '.', $sale_price); + + try { + $amount = money($sale_price)->getAmount(); + } catch (InvalidArgumentException | OutOfBoundsException | UnexpectedValueException $e) { + logger($e->getMessage()); + + $amount = 0; + } + + $sale_price = $amount; + + $request->request->set('sale_price', $sale_price); + } + + if (isset($purchase_price)) { + $purchase_price = Str::replaceFirst(',', '.', $purchase_price); + + try { + $amount = money($purchase_price)->getAmount(); + } catch (InvalidArgumentException | OutOfBoundsException | UnexpectedValueException $e) { + logger($e->getMessage()); + + $amount = 0; + } + + $purchase_price = $amount; + + $request->request->set('purchase_price', $purchase_price); + } } return $next($request); diff --git a/app/Http/Requests/Common/Item.php b/app/Http/Requests/Common/Item.php index b5a55fd41..5d44db3ca 100644 --- a/app/Http/Requests/Common/Item.php +++ b/app/Http/Requests/Common/Item.php @@ -31,8 +31,8 @@ class Item extends FormRequest return [ 'name' => 'required|string', - 'sale_price' => 'required', - 'purchase_price' => 'required', + 'sale_price' => 'required|amount', + 'purchase_price' => 'required|amount', 'tax_ids' => 'nullable|array', 'category_id' => 'nullable|integer', 'enabled' => 'integer|boolean',