sort early returns + type_id/category_id&event_id as strings

This commit is contained in:
paulwer 2023-01-30 11:04:55 +01:00
parent 6e9a420bea
commit e8d19abf7a
28 changed files with 111 additions and 16 deletions

View File

@ -94,6 +94,10 @@ class BankIntegrationFilters extends QueryFilters
public function sort(string $sort): Builder
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -128,8 +128,9 @@ class BankTransactionFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if(!is_array($sort_col))
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
if($sort_col[0] == 'deposit')
return $this->builder->where('base_type', 'CREDIT')->orderBy('amount', $sort_col[1]);

View File

@ -65,6 +65,10 @@ class BankTransactionRuleFilters extends QueryFilters
public function sort(string $sort): Builder
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -143,6 +143,10 @@ class ClientFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
if($sort_col[0] == 'display_name')
$sort_col[0] = 'name';

View File

@ -47,6 +47,10 @@ class CompanyGatewayFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -104,6 +104,10 @@ class CreditFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -48,10 +48,11 @@ class DesignFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if(is_array($sort_col))
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder;
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}
/**

View File

@ -58,10 +58,11 @@ class DocumentFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if(is_array($sort_col))
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder;
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -45,6 +45,10 @@ class ExpenseCategoryFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
if (is_array($sort_col) && in_array($sort_col[1], ['asc', 'desc']) && in_array($sort_col[0], ['name']))
return $this->builder->orderBy($sort_col[0], $sort_col[1]);

View File

@ -151,6 +151,10 @@ class ExpenseFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
if (is_array($sort_col) && in_array($sort_col[1], ['asc', 'desc']) && in_array($sort_col[0], ['public_notes', 'date', 'id_number', 'custom_value1', 'custom_value2', 'custom_value3', 'custom_value4'])) {
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -179,8 +179,7 @@ class InvoiceFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
//catch invalid explode array count
if (count($sort_col) == 1) {
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}

View File

@ -46,6 +46,10 @@ class PaymentTermFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -62,8 +62,9 @@ class ProductFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if(!is_array($sort_col))
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -57,6 +57,10 @@ class ProjectFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
if(is_array($sort_col))
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -119,6 +119,10 @@ class PurchaseOrderFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -130,6 +130,10 @@ class QuoteFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
if($sort_col[0] == 'valid_until')
$sort_col[0] = 'due_date';

View File

@ -59,6 +59,10 @@ class RecurringExpenseFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -102,6 +102,10 @@ class RecurringInvoiceFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -58,6 +58,10 @@ class RecurringQuoteFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -46,6 +46,10 @@ class SubscriptionFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -18,27 +18,27 @@ use Illuminate\Database\Eloquent\Builder;
*/
class SystemLogFilters extends QueryFilters
{
public function type_id(int $type_id): Builder
public function type_id(string $type_id = ''): Builder
{
if (isset($event_id)) {
if (strlen($type_id)) {
return $this->builder;
}
return $this->builder->where('type_id', $type_id);
}
public function category_id(int $category_id): Builder
public function category_id(string $category_id = ''): Builder
{
if (isset($event_id)) {
if (strlen($category_id)) {
return $this->builder;
}
return $this->builder->where('category_id', $category_id);
}
public function event_id(int $event_id): Builder
public function event_id(string $event_id = ''): Builder
{
if (isset($event_id)) {
if (strlen($event_id)) {
return $this->builder;
}
@ -71,6 +71,10 @@ class SystemLogFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -101,6 +101,10 @@ class TaskFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -46,6 +46,10 @@ class TaskStatusFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -46,6 +46,10 @@ class TaxRateFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -46,6 +46,10 @@ class TokenFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -50,6 +50,10 @@ class UserFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -65,6 +65,10 @@ class VendorFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}

View File

@ -46,6 +46,10 @@ class WebhookFilters extends QueryFilters
{
$sort_col = explode('|', $sort);
if (!is_array($sort_col) || count($sort_col) != 2) {
return $this->builder;
}
return $this->builder->orderBy($sort_col[0], $sort_col[1]);
}