close #1618 Fixed: Item with Invalid or Comma Separated Sale or Purchase Price Saves Incorrectly

This commit is contained in:
Cüneyt Şentürk 2021-01-28 10:49:04 +03:00
parent 0e07d4456c
commit e83acb67c1
2 changed files with 37 additions and 3 deletions

View File

@ -3,9 +3,11 @@
namespace App\Http\Middleware; namespace App\Http\Middleware;
use Closure; use Closure;
use InvalidArgumentException;
use OutOfBoundsException; use OutOfBoundsException;
use Illuminate\Support\Str;
use InvalidArgumentException;
use UnexpectedValueException; use UnexpectedValueException;
class Money class Money
{ {
/** /**
@ -72,6 +74,38 @@ class Money
$request->request->set('opening_balance', $opening_balance); $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); return $next($request);

View File

@ -31,8 +31,8 @@ class Item extends FormRequest
return [ return [
'name' => 'required|string', 'name' => 'required|string',
'sale_price' => 'required', 'sale_price' => 'required|amount',
'purchase_price' => 'required', 'purchase_price' => 'required|amount',
'tax_ids' => 'nullable|array', 'tax_ids' => 'nullable|array',
'category_id' => 'nullable|integer', 'category_id' => 'nullable|integer',
'enabled' => 'integer|boolean', 'enabled' => 'integer|boolean',