From 854b13de1970444ca44245b6a8a0bfd54bc112a8 Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Sun, 8 Jan 2017 21:45:42 +0200 Subject: [PATCH] Enable viewing draft invoices with link --- app/Http/Controllers/InvoiceController.php | 2 +- app/Models/Invoice.php | 4 ++-- app/Ninja/Repositories/InvoiceRepository.php | 2 +- resources/views/invoices/view.blade.php | 2 ++ 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/Http/Controllers/InvoiceController.php b/app/Http/Controllers/InvoiceController.php index 1db8664c900d..f8d8ab79c6b7 100644 --- a/app/Http/Controllers/InvoiceController.php +++ b/app/Http/Controllers/InvoiceController.php @@ -194,7 +194,7 @@ class InvoiceController extends BaseController } // Set the invitation data on the client's contacts - if ($invoice->is_public && ! $clone) { + if ( ! $clone) { $clients = $data['clients']; foreach ($clients as $client) { if ($client->id != $invoice->client->id) { diff --git a/app/Models/Invoice.php b/app/Models/Invoice.php index b2a6eef63669..4a4099d9f5e6 100644 --- a/app/Models/Invoice.php +++ b/app/Models/Invoice.php @@ -196,7 +196,7 @@ class Invoice extends EntityModel implements BalanceAffecting if ($this->getRawAdjustment() != 0) { return true; } - + foreach ([ 'invoice_number', 'po_number', @@ -566,7 +566,7 @@ class Invoice extends EntityModel implements BalanceAffecting public function canBePaid() { - return floatval($this->balance) > 0 && ! $this->is_deleted && $this->isInvoice(); + return floatval($this->balance) > 0 && ! $this->is_deleted && $this->isInvoice() && $this->is_public; } public static function calcStatusLabel($status, $class, $entityType, $quoteInvoiceId) diff --git a/app/Ninja/Repositories/InvoiceRepository.php b/app/Ninja/Repositories/InvoiceRepository.php index cd75f902755e..e5285d97fbd1 100644 --- a/app/Ninja/Repositories/InvoiceRepository.php +++ b/app/Ninja/Repositories/InvoiceRepository.php @@ -797,7 +797,7 @@ class InvoiceRepository extends BaseRepository } $invoice = $invitation->invoice; - if (!$invoice || $invoice->is_deleted || ! $invoice->is_public) { + if (!$invoice || $invoice->is_deleted) { return false; } diff --git a/resources/views/invoices/view.blade.php b/resources/views/invoices/view.blade.php index 02956ae090ea..9f10dbabecdb 100644 --- a/resources/views/invoices/view.blade.php +++ b/resources/views/invoices/view.blade.php @@ -116,6 +116,8 @@ @if ($showApprove) {!! Button::success(trans('texts.approve'))->asLinkTo(URL::to('/approve/' . $invitation->invitation_key))->large() !!} @endif + @elseif ( ! $invoice->canBePaid()) + {!! Button::normal(trans('texts.download_pdf'))->withAttributes(['onclick' => 'onDownloadClick()'])->large() !!} @elseif ($invoice->client->account->isGatewayConfigured() && floatval($invoice->balance) && !$invoice->is_recurring) {!! Button::normal(trans('texts.download_pdf'))->withAttributes(['onclick' => 'onDownloadClick()'])->large() !!}   @if (count($paymentTypes) > 1)