diff --git a/app/Models/Invoice.php b/app/Models/Invoice.php index ef75dc8b6e01..f4269dbfc173 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -1642,6 +1642,14 @@ class Invoice extends EntityModel implements BalanceAffecting return false; } + public function isLocked() + { + if (! config('ninja.lock_sent_invoices')) { + return false; + } + + return $this->isSent() && ! $this->is_recurring; + } } Invoice::creating(function ($invoice) { diff --git a/app/Ninja/Repositories/InvoiceRepository.php b/app/Ninja/Repositories/InvoiceRepository.php index 9f86a88c6bba..ae7d629b39ca 100644 --- a/app/Ninja/Repositories/InvoiceRepository.php +++ b/app/Ninja/Repositories/InvoiceRepository.php @@ -403,7 +403,7 @@ class InvoiceRepository extends BaseRepository if ($invoice->is_deleted) { return $invoice; - } elseif ($invoice->isSent() && config('ninja.lock_sent_invoices')) { + } elseif ($invoice->isLocked()) { return $invoice; } diff --git a/resources/views/invoices/edit.blade.php b/resources/views/invoices/edit.blade.php index 003169e8d746..97e1f1184169 100644 --- a/resources/views/invoices/edit.blade.php +++ b/resources/views/invoices/edit.blade.php @@ -533,7 +533,7 @@ @if (Auth::user()->canCreateOrEdit(ENTITY_INVOICE, $invoice)) @if ($invoice->isClientTrashed()) - @elseif ($invoice->isSent() && config('ninja.lock_sent_invoices')) + @elseif ($invoice->isLocked()) @if (! $invoice->trashed()) {!! Button::info(trans("texts.email_{$entityType}"))->withAttributes(array('id' => 'emailButton', 'onclick' => 'onEmailClick()'))->appendIcon(Icon::create('send')) !!} {!! DropdownButton::normal(trans('texts.more_actions'))->withContents($invoice->present()->moreActions())->dropup() !!}