Money middleware added currency_code and document issue fixed..

This commit is contained in:
Cüneyt Şentürk 2021-05-10 00:40:33 +03:00
parent 8651bc6c9b
commit d46bff3c2d

View File

@ -23,6 +23,12 @@ class Money
return $next($request);
}
$currency_code = setting('default.currency');
if ($request->has('currency_code')) {
$currency_code = $request->get('currency_code');
}
$parameters = [
'amount',
'sale_price',
@ -41,7 +47,7 @@ class Money
$money_format = Str::replaceFirst(',', '.', $money_format);
}
$amount = $this->getAmount($money_format);
$amount = $this->getAmount($money_format, $currency_code);
$request->request->set($parameter, $amount);
}
@ -56,7 +62,11 @@ class Money
continue;
}
$amount = $this->getAmount($item['price']);
$amount = $item['price'];
if (strpos($item['price'], config('money.' . $currency_code . '.symbol')) !== false) {
$amount = $this->getAmount($item['price'], $currency_code);
}
$items[$key]['price'] = $amount;
}
@ -68,10 +78,14 @@ class Money
return $next($request);
}
protected function getAmount($money_format)
protected function getAmount($money_format, $currency_code)
{
try {
$amount = money($money_format)->getAmount();
if (config('money.' . $currency_code . '.decimal_mark') !== '.') {
$money_format = Str::replaceFirst('.', config('money.' . $currency_code . '.decimal_mark'), $money_format);
}
$amount = money($money_format, $currency_code)->getAmount();
} catch (InvalidArgumentException | OutOfBoundsException | UnexpectedValueException $e) {
logger($e->getMessage());