From 218aa6de733289e667ca3a590970067152eb6ee7 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 15 Apr 2021 08:09:36 +1000 Subject: [PATCH] Checks for partial/deposit greater than amount/balance --- app/Http/Requests/Invoice/StoreInvoiceRequest.php | 2 +- app/Repositories/BaseRepository.php | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/Http/Requests/Invoice/StoreInvoiceRequest.php b/app/Http/Requests/Invoice/StoreInvoiceRequest.php index 2da8e72603a6..9090badcb699 100644 --- a/app/Http/Requests/Invoice/StoreInvoiceRequest.php +++ b/app/Http/Requests/Invoice/StoreInvoiceRequest.php @@ -51,7 +51,7 @@ class StoreInvoiceRequest extends Request $rules['invitations.*.client_contact_id'] = 'distinct'; - $rules['number'] = ['nullable',Rule::unique('invoices')->where('company_id', auth()->user()->company()->id)]; + $rules['number'] = ['nullable', Rule::unique('invoices')->where('company_id', auth()->user()->company()->id)]; $rules['project_id'] = ['bail', 'sometimes', new ValidProjectForClient($this->all())]; diff --git a/app/Repositories/BaseRepository.php b/app/Repositories/BaseRepository.php index ddf2645d9051..9942698ef7f6 100644 --- a/app/Repositories/BaseRepository.php +++ b/app/Repositories/BaseRepository.php @@ -291,6 +291,10 @@ class BaseRepository /* Apply entity number */ $model = $model->service()->applyNumber()->save(); + /* Handle attempts where the deposit is greater than the amount/balance of the invoice */ + if((int)$model->balance != 0 && $model->partial > $model->amount) + $model->partial = min($model->amount, $model->balance); + /* Update product details if necessary */ if ($model->company->update_products) UpdateOrCreateProduct::dispatch($model->line_items, $model, $model->company);