diff --git a/app/Filters/TaskFilters.php b/app/Filters/TaskFilters.php index 4847b3a9b288..59a0d30de337 100644 --- a/app/Filters/TaskFilters.php +++ b/app/Filters/TaskFilters.php @@ -110,12 +110,15 @@ class TaskFilters extends QueryFilters return $this->builder; } - if ($sort_col[0] == 'client_id') { return $this->builder->orderBy(\App\Models\Client::select('name') ->whereColumn('clients.id', 'tasks.client_id'), $sort_col[1]); } + if ($sort_col[0] == 'user_id') { + return $this->builder->orderBy(\App\Models\User::select('first_name') + ->whereColumn('users.id', 'tasks.user_id'), $sort_col[1]); + } return $this->builder->orderBy($sort_col[0], $sort_col[1]); } diff --git a/app/Transformers/TaskTransformer.php b/app/Transformers/TaskTransformer.php index eb077d2e1d87..028e2bf44ef4 100644 --- a/app/Transformers/TaskTransformer.php +++ b/app/Transformers/TaskTransformer.php @@ -36,6 +36,7 @@ class TaskTransformer extends EntityTransformer 'client', 'status', 'project', + 'user', ]; public function includeDocuments(Task $task) @@ -45,6 +46,18 @@ class TaskTransformer extends EntityTransformer return $this->includeCollection($task->documents, $transformer, Document::class); } + public function includeUser(Task $task): ?Item + { + $transformer = new UserTransformer($this->serializer); + + if (!$task->user) { + return null; + } + + return $this->includeItem($task->user, $transformer, User::class); + } + + public function includeClient(Task $task): ?Item { $transformer = new ClientTransformer($this->serializer);