diff --git a/app/Http/Requests/Payment/UpdatePaymentRequest.php b/app/Http/Requests/Payment/UpdatePaymentRequest.php index e62826a2489e..2ac4983bc6a6 100644 --- a/app/Http/Requests/Payment/UpdatePaymentRequest.php +++ b/app/Http/Requests/Payment/UpdatePaymentRequest.php @@ -71,10 +71,6 @@ class UpdatePaymentRequest extends Request unset($input['amount']); } - // if (isset($input['number'])) { - // unset($input['number']); - // } - if (isset($input['invoices']) && is_array($input['invoices']) !== false) { foreach ($input['invoices'] as $key => $value) { $input['invoices'][$key]['invoice_id'] = $this->decodePrimaryKey($value['invoice_id']); diff --git a/app/Http/Requests/RecurringInvoice/StoreRecurringInvoiceRequest.php b/app/Http/Requests/RecurringInvoice/StoreRecurringInvoiceRequest.php index 7c527fd7f858..f292c7e4f230 100644 --- a/app/Http/Requests/RecurringInvoice/StoreRecurringInvoiceRequest.php +++ b/app/Http/Requests/RecurringInvoice/StoreRecurringInvoiceRequest.php @@ -111,6 +111,10 @@ class StoreRecurringInvoiceRequest extends Request } } + /* If there is no number, just unset it here. */ + if(array_key_exists('number', $input) && ( is_null($input['number']) || empty($input['number']))) + unset($input['number']); + $this->replace($input); } diff --git a/app/Http/ValidationRules/PaymentAppliedValidAmount.php b/app/Http/ValidationRules/PaymentAppliedValidAmount.php index 292712a1d738..357cde9f0ea0 100644 --- a/app/Http/ValidationRules/PaymentAppliedValidAmount.php +++ b/app/Http/ValidationRules/PaymentAppliedValidAmount.php @@ -42,7 +42,7 @@ class PaymentAppliedValidAmount implements Rule private function calculateAmounts() :bool { - $payment = Payment::whereId($this->decodePrimaryKey(request()->segment(4)))->company()->first(); + $payment = Payment::withTrashed()->whereId($this->decodePrimaryKey(request()->segment(4)))->company()->first(); if (! $payment) { return false; @@ -53,6 +53,15 @@ class PaymentAppliedValidAmount implements Rule $payment_amounts = $payment->amount - $payment->refunded - $payment->applied; + if(request()->has('credits') + && is_array(request()->input('credits')) + && count(request()->input('credits')) == 0 + && request()->has('invoices') + && is_array(request()->input('invoices')) + && count(request()->input('invoices')) == 0){ + return true; + } + if (request()->input('credits') && is_array(request()->input('credits'))) { foreach (request()->input('credits') as $credit) { $payment_amounts += $credit['amount']; diff --git a/app/Mail/ClientContact/ClientContactResetPasswordObject.php b/app/Mail/ClientContact/ClientContactResetPasswordObject.php index 77fdeba30029..a911045ff922 100644 --- a/app/Mail/ClientContact/ClientContactResetPasswordObject.php +++ b/app/Mail/ClientContact/ClientContactResetPasswordObject.php @@ -35,19 +35,19 @@ class ClientContactResetPasswordObject public function build() { + $settings = $this->client_contact->client->getMergedSettings(); App::forgetInstance('translator'); $t = app('translator'); App::setLocale($this->client_contact->preferredLocale()); - $t->replace(Ninja::transformTranslations($this->client_contact->client->getMergedSettings())); - + $t->replace(Ninja::transformTranslations($settings)); $data = [ 'title' => ctrans('texts.your_password_reset_link'), 'content' => ctrans('texts.reset_password'), 'url' => route('client.password.reset', ['token' => $this->token, 'email' => $this->client_contact->email]), 'button' => ctrans('texts.reset'), - 'signature' => $this->company->settings->email_signature, - 'settings' => $this->company->settings, + 'signature' => $settings->email_signature, + 'settings' => $settings, 'company' => $this->company, 'logo' => $this->company->present()->logo(), ];