diff --git a/app/Http/Controllers/TaskKanbanController.php b/app/Http/Controllers/TaskKanbanController.php index cf6886e7df4f..e4f6fa6c13a5 100644 --- a/app/Http/Controllers/TaskKanbanController.php +++ b/app/Http/Controllers/TaskKanbanController.php @@ -27,7 +27,7 @@ class TaskKanbanController extends BaseController ->get(); $projects = Project::scope()->get(); - $clients = Client::scope()->get(); + $clients = Client::scope()->with(['contacts'])->get(); // check initial statuses exist if (! $statuses->count()) { @@ -61,7 +61,7 @@ class TaskKanbanController extends BaseController $adjustment = 0; $counts = []; foreach ($tasks as $task) { - if (! $task->task_status_id) { + if (! $task->task_status || $task->task_status->trashed()) { $task->task_status_id = $firstStatus->id; $task->setRelation('task_status', $firstStatus); } diff --git a/resources/views/tasks/kanban.blade.php b/resources/views/tasks/kanban.blade.php index a83d3e36ae04..202d1bd45935 100644 --- a/resources/views/tasks/kanban.blade.php +++ b/resources/views/tasks/kanban.blade.php @@ -178,8 +178,10 @@ self.statuses = ko.observableArray(); self.is_adding_status = ko.observable(false); - self.new_status = ko.observable(''); - self.filter = ko.observable(''); + self.new_status = ko.observable(); + self.filter = ko.observable(); + self.filter_client_id = ko.observable(); + self.filter_project_id = ko.observable(); self.is_sending_request = ko.observable(false); for (var i=0; i{{ trans('texts.projects') }}' } }).on('typeahead:selected', function(element, datum, name) { - model.filter(datum.value); + model.filter(false); + if (datum.type == 'client') { + model.filter_client_id(datum.id); + model.filter_project_id(false); + } else { + model.filter_project_id(datum.id); + model.filter_client_id(false); + } }); - $('#filter').on('keyup', function() { + $('#filter').on('input', function() { model.filter($('#filter').val()); + model.filter_client_id(false); + model.filter_project_id(false); }); window.model = new ViewModel(); @@ -585,7 +618,7 @@
-
+