diff --git a/app/Http/Controllers/TaskKanbanController.php b/app/Http/Controllers/TaskKanbanController.php index 5a3d599f208d..93353a01b1ce 100644 --- a/app/Http/Controllers/TaskKanbanController.php +++ b/app/Http/Controllers/TaskKanbanController.php @@ -79,7 +79,7 @@ class TaskKanbanController extends BaseController $status = TaskStatus::createNew(); } - $status->name = request('name'); + $status->fill(request()->all()); $status->save(); return response()->json($status); diff --git a/app/Models/TaskStatus.php b/app/Models/TaskStatus.php index 479b5cfff621..fa3d77329a3e 100644 --- a/app/Models/TaskStatus.php +++ b/app/Models/TaskStatus.php @@ -15,11 +15,21 @@ class TaskStatus extends EntityModel * @var bool */ public $timestamps = true; + /** * @var array */ protected $dates = ['deleted_at']; + /** + * @var array + */ + protected $fillable = [ + 'name', + 'sort_order', + ]; + + /** * @return mixed */ diff --git a/resources/views/tasks/kanban.blade.php b/resources/views/tasks/kanban.blade.php index 6d0fba7b717c..e0fd8ee2838e 100644 --- a/resources/views/tasks/kanban.blade.php +++ b/resources/views/tasks/kanban.blade.php @@ -194,11 +194,11 @@ self.saveNewStatus = function() { var statusModel = new StatusModel({ - name: self.new_status() + name: self.new_status(), + sort_order: self.statuses().length, }) - var url = '{{ url('/task_statuses') }}'; - var data = 'name=' + encodeURIComponent(statusModel.name()); + var data = statusModel.toData(); self.ajax('post', url, data, function(response) { statusModel.public_id(response.public_id); self.statuses.push(statusModel); @@ -238,12 +238,18 @@ function StatusModel(data) { var self = this; self.name = ko.observable(); + self.sort_order = ko.observable(); self.public_id = ko.observable(); self.is_editing_status = ko.observable(false); self.is_header_hovered = ko.observable(false); self.tasks = ko.observableArray(); self.new_task = new TaskModel(); + self.toData = function() { + return 'name=' + encodeURIComponent(self.name()) + + '&sort_order=' + self.sort_order(); + } + self.onHeaderMouseOver = function() { self.is_header_hovered(true); }