diff --git a/app/Ninja/Datatables/RecurringInvoiceDatatable.php b/app/Ninja/Datatables/RecurringInvoiceDatatable.php
index 3f0f159dfb81..ce3705441ba5 100644
--- a/app/Ninja/Datatables/RecurringInvoiceDatatable.php
+++ b/app/Ninja/Datatables/RecurringInvoiceDatatable.php
@@ -5,6 +5,7 @@ namespace App\Ninja\Datatables;
use Auth;
use URL;
use Utils;
+use App\Models\Invoice;
class RecurringInvoiceDatatable extends EntityDatatable
{
@@ -53,9 +54,27 @@ class RecurringInvoiceDatatable extends EntityDatatable
return Utils::formatMoney($model->amount, $model->currency_id, $model->country_id);
},
],
+ [
+ 'status',
+ function ($model) {
+ return self::getStatusLabel($model);
+ },
+ ],
];
}
+ private function getStatusLabel($model)
+ {
+ $class = Invoice::calcStatusClass($model->invoice_status_id, $model->balance, $model->due_date, $model->is_recurring);
+ $label = Invoice::calcStatusLabel($model->invoice_status_name, $class, $this->entityType, $model->quote_invoice_id);
+
+ if ($model->invoice_status_id == INVOICE_STATUS_SENT && (! $model->last_sent_date || $model->last_sent_date == '0000-00-00')) {
+ $label = trans('texts.pending');
+ }
+
+ return "
$label
";
+ }
+
public function actions()
{
return [
diff --git a/app/Ninja/Repositories/InvoiceRepository.php b/app/Ninja/Repositories/InvoiceRepository.php
index e4afbdd2cb18..fb9ff06d643a 100644
--- a/app/Ninja/Repositories/InvoiceRepository.php
+++ b/app/Ninja/Repositories/InvoiceRepository.php
@@ -136,6 +136,7 @@ class InvoiceRepository extends BaseRepository
$query = DB::table('invoices')
->join('accounts', 'accounts.id', '=', 'invoices.account_id')
->join('clients', 'clients.id', '=', 'invoices.client_id')
+ ->join('invoice_statuses', 'invoice_statuses.id', '=', 'invoices.invoice_status_id')
->join('frequencies', 'frequencies.id', '=', 'invoices.frequency_id')
->join('contacts', 'contacts.client_id', '=', 'clients.id')
->where('invoices.account_id', '=', $accountId)
@@ -160,7 +161,13 @@ class InvoiceRepository extends BaseRepository
'contacts.email',
'invoices.deleted_at',
'invoices.is_deleted',
- 'invoices.user_id'
+ 'invoices.user_id',
+ 'invoice_statuses.name as invoice_status_name',
+ 'invoices.invoice_status_id',
+ 'invoices.balance',
+ 'invoices.due_date',
+ 'invoices.is_recurring',
+ 'invoices.quote_invoice_id'
);
if ($clientPublicId) {
diff --git a/resources/lang/en/texts.php b/resources/lang/en/texts.php
index 38fb27b48f88..630ce7dd06b4 100644
--- a/resources/lang/en/texts.php
+++ b/resources/lang/en/texts.php
@@ -2396,6 +2396,7 @@ $LANG = array(
'create_vendor' => 'Create vendor',
'create_expense_category' => 'Create category',
'pro_plan_reports' => ':link to enable reports by joining the Pro Plan',
+ 'mark_ready' => 'Mark Ready',
);
diff --git a/resources/views/invoices/edit.blade.php b/resources/views/invoices/edit.blade.php
index 31bb991d4a38..8ddeb26c7a6b 100644
--- a/resources/views/invoices/edit.blade.php
+++ b/resources/views/invoices/edit.blade.php
@@ -54,7 +54,7 @@
{{ $invoice->invoice_number }}
@endif
@if ($invoice->is_recurring && $invoice->isSent() && (! $invoice->last_sent_date || $invoice->last_sent_date == '0000-00-00'))
- {!! $invoice->present()->statusLabel(trans('texts.active')) !!}
+ {!! $invoice->present()->statusLabel(trans('texts.pending')) !!}
@else
{!! $invoice->present()->statusLabel !!}
@endif
@@ -564,7 +564,7 @@
@else
{!! Button::normal(trans("texts.save_draft"))->withAttributes(array('id' => 'draftButton', 'onclick' => 'onSaveDraftClick()'))->appendIcon(Icon::create('floppy-disk')) !!}
@if (! $invoice->trashed())
- {!! Button::success(trans($invoice->is_recurring ? "texts.mark_active" : "texts.mark_sent"))->withAttributes(array('id' => 'saveButton', 'onclick' => 'onMarkSentClick()'))->appendIcon(Icon::create('globe')) !!}
+ {!! Button::success(trans($invoice->is_recurring ? "texts.mark_ready" : "texts.mark_sent"))->withAttributes(array('id' => 'saveButton', 'onclick' => 'onMarkSentClick()'))->appendIcon(Icon::create('globe')) !!}
@endif
@endif
@if (! $invoice->trashed())