Merge branch 'invoice-refactor' into 'master'

Refactor DUE status

See merge request mohit.panjvani/crater-web!251
This commit is contained in:
Mohit Panjwani
2020-08-01 08:24:35 +00:00
2 changed files with 16 additions and 5 deletions

View File

@ -15,6 +15,7 @@ class Invoice extends Model
const STATUS_OVERDUE = 'OVERDUE';
const STATUS_COMPLETED = 'COMPLETED';
const STATUS_DUE = 'DUE';
const STATUS_UNPAID = 'UNPAID';
const STATUS_PARTIALLY_PAID = 'PARTIALLY_PAID';
const STATUS_PAID = 'PAID';
@ -189,6 +190,14 @@ class Invoice extends Model
return $query->where('invoices.paid_status', $status);
}
public function scopeWhereDueStatus($query, $status)
{
return $query->whereIn('invoices.paid_status', [
self::STATUS_UNPAID,
self::STATUS_PARTIALLY_PAID
]);
}
public function scopeWhereInvoiceNumber($query, $invoiceNumber)
{
return $query->where('invoices.invoice_number', 'LIKE', '%'.$invoiceNumber.'%');
@ -232,6 +241,8 @@ class Invoice extends Model
$filters->get('status') == self::STATUS_PAID
) {
$query->wherePaidStatus($filters->get('status'));
} elseif ($filters->get('status') == self::STATUS_DUE) {
$query->whereDueStatus($filters->get('status'));
} else {
$query->whereStatus($filters->get('status'));
}

View File

@ -134,11 +134,11 @@
<!-- Tabs -->
<ul class="tabs">
<li class="tab" @click="getStatus('UNPAID')">
<li class="tab" @click="getStatus('DUE')">
<a
:class="[
'tab-link',
{ 'a-active': filters.status.value === 'UNPAID' },
{ 'a-active': filters.status.value === 'DUE' },
]"
href="#"
>{{ $t('general.due') }}</a
@ -163,7 +163,7 @@
filters.status.value === '' ||
filters.status.value === null ||
(filters.status.value !== 'DRAFT' &&
filters.status.value !== 'UNPAID'),
filters.status.value !== 'DUE'),
},
]"
href="#"
@ -399,7 +399,7 @@ export default {
isDisable: true,
options: [
{ name: 'DRAFT', value: 'DRAFT' },
{ name: 'DUE', value: 'UNPAID' },
{ name: 'DUE', value: 'DUE' },
{ name: 'SENT', value: 'SENT' },
{ name: 'VIEWED', value: 'VIEWED' },
{ name: 'OVERDUE', value: 'OVERDUE' },
@ -419,7 +419,7 @@ export default {
isRequestOngoing: true,
filters: {
customer: '',
status: { name: 'DUE', value: 'UNPAID' },
status: { name: 'DUE', value: 'DUE' },
from_date: '',
to_date: '',
invoice_number: ''