Improve sort order in client portal tables
This commit is contained in:
parent
1d531023fe
commit
2b5728c6d0
|
|
@ -174,7 +174,7 @@ class PaymentController extends Controller
|
||||||
$payment_hash->payment_id = $payment->id;
|
$payment_hash->payment_id = $payment->id;
|
||||||
$payment_hash->save();
|
$payment_hash->save();
|
||||||
}
|
}
|
||||||
|
$payment->type_id = PaymentType::CREDIT;
|
||||||
$payment = $payment->service()->applyCredits($payment_hash)->save();
|
$payment = $payment->service()->applyCredits($payment_hash)->save();
|
||||||
|
|
||||||
/** @var \Illuminate\Database\Eloquent\Collection<\App\Models\Invoice> $invoices */
|
/** @var \Illuminate\Database\Eloquent\Collection<\App\Models\Invoice> $invoices */
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,13 @@ class CreditsTable extends Component
|
||||||
$query->whereDate('due_date', '>=', now())
|
$query->whereDate('due_date', '>=', now())
|
||||||
->orWhereNull('due_date');
|
->orWhereNull('due_date');
|
||||||
})
|
})
|
||||||
->orderBy($this->sort_field, $this->sort_asc ? 'asc' : 'desc')
|
// ->orderBy($this->sort_field, $this->sort_asc ? 'asc' : 'desc')
|
||||||
|
->when($this->sort_field == 'number', function ($q){
|
||||||
|
$q->orderByRaw("REGEXP_REPLACE(number,'[^0-9]+','')+0 " . ($this->sort_asc ? 'desc' : 'asc'));
|
||||||
|
})
|
||||||
|
->when($this->sort_field != 'number', function ($q){
|
||||||
|
$q->orderBy($this->sort_field, ($this->sort_asc ? 'desc' : 'asc'));
|
||||||
|
})
|
||||||
->withTrashed()
|
->withTrashed()
|
||||||
->paginate($this->per_page);
|
->paginate($this->per_page);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,13 @@ class InvoicesTable extends Component
|
||||||
->where('is_deleted', false)
|
->where('is_deleted', false)
|
||||||
->where('is_proforma', false)
|
->where('is_proforma', false)
|
||||||
->with('client.gateway_tokens', 'client.contacts')
|
->with('client.gateway_tokens', 'client.contacts')
|
||||||
->orderBy($this->sort_field, $this->sort_asc ? 'asc' : 'desc');
|
->when($this->sort_field == 'number', function ($q){
|
||||||
|
$q->orderByRaw("REGEXP_REPLACE(number,'[^0-9]+','')+0 " . ($this->sort_asc ? 'desc' : 'asc'));
|
||||||
|
})
|
||||||
|
->when($this->sort_field != 'number', function ($q){
|
||||||
|
$q->orderBy($this->sort_field, ($this->sort_asc ? 'desc' : 'asc'));
|
||||||
|
});
|
||||||
|
// ->orderBy($this->sort_field, $this->sort_asc ? 'asc' : 'desc');
|
||||||
|
|
||||||
if (in_array('paid', $this->status)) {
|
if (in_array('paid', $this->status)) {
|
||||||
$local_status[] = Invoice::STATUS_PAID;
|
$local_status[] = Invoice::STATUS_PAID;
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,13 @@ class PaymentsTable extends Component
|
||||||
->where('company_id', auth()->guard('contact')->user()->company_id)
|
->where('company_id', auth()->guard('contact')->user()->company_id)
|
||||||
->where('client_id', auth()->guard('contact')->user()->client_id)
|
->where('client_id', auth()->guard('contact')->user()->client_id)
|
||||||
->whereIn('status_id', [Payment::STATUS_FAILED, Payment::STATUS_COMPLETED, Payment::STATUS_PENDING, Payment::STATUS_REFUNDED, Payment::STATUS_PARTIALLY_REFUNDED])
|
->whereIn('status_id', [Payment::STATUS_FAILED, Payment::STATUS_COMPLETED, Payment::STATUS_PENDING, Payment::STATUS_REFUNDED, Payment::STATUS_PARTIALLY_REFUNDED])
|
||||||
->orderBy($this->sort_field, $this->sort_asc ? 'desc' : 'asc')
|
// ->orderBy($this->sort_field, $this->sort_asc ? 'desc' : 'asc')
|
||||||
|
->when($this->sort_field == 'number', function ($q){
|
||||||
|
$q->orderByRaw("REGEXP_REPLACE(number,'[^0-9]+','')+0 " . ($this->sort_asc ? 'desc' : 'asc'));
|
||||||
|
})
|
||||||
|
->when($this->sort_field != 'number', function ($q){
|
||||||
|
$q->orderBy($this->sort_field, ($this->sort_asc ? 'desc' : 'asc'));
|
||||||
|
})
|
||||||
->withTrashed()
|
->withTrashed()
|
||||||
->paginate($this->per_page);
|
->paginate($this->per_page);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,14 @@ class QuotesTable extends Component
|
||||||
{
|
{
|
||||||
$query = Quote::query()
|
$query = Quote::query()
|
||||||
->with('client.contacts', 'company')
|
->with('client.contacts', 'company')
|
||||||
->orderBy($this->sort, $this->sort_asc ? 'asc' : 'desc');
|
// ->orderBy($this->sort, $this->sort_asc ? 'asc' : 'desc');
|
||||||
|
->when($this->sort == 'number', function ($q){
|
||||||
|
$q->orderByRaw("REGEXP_REPLACE(number,'[^0-9]+','')+0 " . ($this->sort_asc ? 'desc' : 'asc'));
|
||||||
|
})
|
||||||
|
->when($this->sort != 'number', function ($q){
|
||||||
|
$q->orderBy($this->sort, ($this->sort_asc ? 'desc' : 'asc'));
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
if (count($this->status) > 0) {
|
if (count($this->status) > 0) {
|
||||||
/* Special filter for expired*/
|
/* Special filter for expired*/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue