diff --git a/app/Filters/ExpenseFilters.php b/app/Filters/ExpenseFilters.php index 6260c1b04b3c..b057ad3f27f9 100644 --- a/app/Filters/ExpenseFilters.php +++ b/app/Filters/ExpenseFilters.php @@ -164,6 +164,17 @@ class ExpenseFilters extends QueryFilters return $this->builder; } + if ($sort_col[0] == 'client_id') { + return $this->builder->orderBy(\App\Models\Client::select('name') + ->whereColumn('clients.id', 'expenses.client_id'), $sort_col[1]); + } + + if ($sort_col[0] == 'vendor_id') { + return $this->builder->orderBy(\App\Models\Vendor::select('name') + ->whereColumn('vendors.id', 'expenses.vendor_id'), $sort_col[1]); + } + + 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]); } diff --git a/app/Filters/PurchaseOrderFilters.php b/app/Filters/PurchaseOrderFilters.php index 4b86b618ac09..8948a619f451 100644 --- a/app/Filters/PurchaseOrderFilters.php +++ b/app/Filters/PurchaseOrderFilters.php @@ -123,6 +123,11 @@ class PurchaseOrderFilters extends QueryFilters return $this->builder; } + if ($sort_col[0] == 'vendor_id') { + return $this->builder->orderBy(\App\Models\Vendor::select('name') + ->whereColumn('vendors.id', 'purchase_orders.vendor_id'), $sort_col[1]); + } + return $this->builder->orderBy($sort_col[0], $sort_col[1]); }