Cleanup for filters

This commit is contained in:
David Bomba 2023-01-16 11:46:41 +11:00
parent 59faed5e59
commit e822550c38
2 changed files with 35 additions and 26 deletions

View File

@ -42,6 +42,8 @@ class PurchaseOrderFilters extends QueryFilters
return $this->builder;
}
$this->builder->where(function ($query) use ($status_parameters){
$po_status = [];
if (in_array('draft', $status_parameters)) {
@ -49,7 +51,12 @@ class PurchaseOrderFilters extends QueryFilters
}
if (in_array('sent', $status_parameters)) {
$po_status[] = PurchaseOrder::STATUS_SENT;
$query->orWhere(function ($q){
$q->where('status_id', PurchaseOrder::STATUS_SENT)
->whereNull('due_date')
->orWhere('due_date', '>=', now()->toDateString());
});
}
if (in_array('accepted', $status_parameters)) {
@ -61,8 +68,9 @@ class PurchaseOrderFilters extends QueryFilters
}
if(count($status_parameters) >=1) {
$this->builder->whereIn('status_id', $status_parameters);
$query->whereIn('status_id', $status_parameters);
}
})
return $this->builder;
}

View File

@ -65,19 +65,20 @@ class RecurringInvoiceFilters extends QueryFilters
return $this->builder;
}
if (in_array('active', $status_parameters)) {
$this->builder->where('status_id', RecurringInvoice::STATUS_ACTIVE);
}
$recurring_filters = [];
if (in_array('paused', $status_parameters)) {
$this->builder->where('status_id', RecurringInvoice::STATUS_PAUSED);
}
if (in_array('active', $status_parameters))
$recurring_filters[] = RecurringInvoice::STATUS_ACTIVE;
if (in_array('completed', $status_parameters)) {
$this->builder->where('status_id', RecurringInvoice::STATUS_COMPLETED);
}
return $this->builder;
if (in_array('paused', $status_parameters))
$recurring_filters[] = RecurringInvoice::STATUS_PAUSED;
if (in_array('completed', $status_parameters))
$recurring_filters[] = RecurringInvoice::STATUS_COMPLETED;
return $this->builder->whereIn('status_id', $recurring_filters);
}
/**