From 05538570ec00833c3612ace399bb2a8669737946 Mon Sep 17 00:00:00 2001 From: Steve Ireland Date: Wed, 17 Jul 2024 15:56:19 -0400 Subject: [PATCH] Supplementing issue #3997, this change allows the discount amount to be deleted by the user (instead of needing to enter a zero). --- app/Controllers/Sales.php | 2 +- app/Helpers/locale_helper.php | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/app/Controllers/Sales.php b/app/Controllers/Sales.php index f706d8f30..94591f393 100644 --- a/app/Controllers/Sales.php +++ b/app/Controllers/Sales.php @@ -635,7 +635,7 @@ class Sales extends Secure_Controller $rules = [ 'price' => 'trim|required|numeric', 'quantity' => 'trim|required|numeric', - 'discount' => 'trim|required|numeric', + 'discount' => 'trim|permit_empty|numeric', ]; if($this->validate($rules)) diff --git a/app/Helpers/locale_helper.php b/app/Helpers/locale_helper.php index 0d49693a7..8028ae9de 100644 --- a/app/Helpers/locale_helper.php +++ b/app/Helpers/locale_helper.php @@ -362,28 +362,28 @@ function to_datetime(int $datetime = DEFAULT_DATETIME): string } /** - * @param float|null $number + * @param string|null $number * @return string */ -function to_currency(?float $number): string +function to_currency(?string $number): string { return to_decimals($number, 'currency_decimals', NumberFormatter::CURRENCY); } /** - * @param float|null $number + * @param string|null $number * @return string */ -function to_currency_no_money(?float $number): string +function to_currency_no_money(?string $number): string { return to_decimals($number, 'currency_decimals'); } /** - * @param float|null $number + * @param string|null $number * @return string */ -function to_currency_tax(?float $number): string +function to_currency_tax(?string $number): string { $config = config(OSPOS::class)->settings; @@ -419,21 +419,21 @@ function to_tax_decimals($number): string } /** - * @param float|null $number + * @param string|null $number * @return string */ -function to_quantity_decimals(?float $number): string +function to_quantity_decimals(?string $number): string { return to_decimals($number, 'quantity_decimals'); } /** - * @param float|null $number + * @param string|null $number * @param string|null $decimals * @param int $type * @return string */ -function to_decimals(?float $number, string $decimals = null, int $type = NumberFormatter::DECIMAL): string +function to_decimals(?string $number, string $decimals = null, int $type = NumberFormatter::DECIMAL): string { if(!isset($number)) { @@ -451,7 +451,7 @@ function to_decimals(?float $number, string $decimals = null, int $type = Number } $fmt->setSymbol(NumberFormatter::CURRENCY_SYMBOL, $config['currency_symbol']); - return $fmt->format($number); + return $fmt->format((float) $number); } /**