From b8c8aabbf447949d6eb72489d9c42cbf68aec5cd Mon Sep 17 00:00:00 2001 From: James Cole Date: Thu, 24 Oct 2019 10:14:08 +0200 Subject: [PATCH] Empty foreign amount should not be a problem. --- app/Api/V1/Requests/TransactionStoreRequest.php | 2 +- app/Validation/TransactionValidation.php | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/Api/V1/Requests/TransactionStoreRequest.php b/app/Api/V1/Requests/TransactionStoreRequest.php index 6a5efa94e6..795eef6fca 100644 --- a/app/Api/V1/Requests/TransactionStoreRequest.php +++ b/app/Api/V1/Requests/TransactionStoreRequest.php @@ -89,7 +89,7 @@ class TransactionStoreRequest extends Request // amount 'transactions.*.amount' => 'required|numeric|more:0', - 'transactions.*.foreign_amount' => 'numeric|more:0', + 'transactions.*.foreign_amount' => 'numeric', // description 'transactions.*.description' => 'nullable|between:1,1000', diff --git a/app/Validation/TransactionValidation.php b/app/Validation/TransactionValidation.php index 640e218c90..ff5e432fba 100644 --- a/app/Validation/TransactionValidation.php +++ b/app/Validation/TransactionValidation.php @@ -162,7 +162,9 @@ trait TransactionValidation $transactions = $data['transactions'] ?? []; foreach ($transactions as $index => $transaction) { // if foreign amount is present, then the currency must be as well. - if (isset($transaction['foreign_amount']) && !(isset($transaction['foreign_currency_id']) || isset($transaction['foreign_currency_code']))) { + if (isset($transaction['foreign_amount']) && !(isset($transaction['foreign_currency_id']) || isset($transaction['foreign_currency_code'])) + && 0 !== bccomp('0', $transaction['foreign_amount']) + ) { $validator->errors()->add( 'transactions.' . $index . '.foreign_amount', (string)trans('validation.require_currency_info')