From 2740c529ecdba5f64d4267c9bfad2ff2a3372d5c Mon Sep 17 00:00:00 2001 From: Hillel Coren Date: Tue, 19 Dec 2017 10:14:26 +0200 Subject: [PATCH] Working on task kanban --- app/Http/Controllers/TaskKanbanController.php | 51 +++++++ resources/views/tasks/kanban.blade.php | 125 ++++++++---------- routes/web.php | 3 + 3 files changed, 111 insertions(+), 68 deletions(-) diff --git a/app/Http/Controllers/TaskKanbanController.php b/app/Http/Controllers/TaskKanbanController.php index e93b854127a2..5a3d599f208d 100644 --- a/app/Http/Controllers/TaskKanbanController.php +++ b/app/Http/Controllers/TaskKanbanController.php @@ -48,4 +48,55 @@ class TaskKanbanController extends BaseController return view('tasks.kanban', $data); } + /** + * @return \Illuminate\Http\RedirectResponse + */ + public function storeStatus() + { + return $this->saveStatus(); + } + + /** + * @param $publicId + * + * @return \Illuminate\Http\RedirectResponse + */ + public function updateStatus($publicId) + { + return $this->saveStatus($publicId); + } + + /** + * @param bool $publicId + * + * @return \Illuminate\Http\RedirectResponse + */ + private function saveStatus($publicId = false) + { + if ($publicId) { + $status = TaskStatus::scope($publicId)->firstOrFail(); + } else { + $status = TaskStatus::createNew(); + } + + $status->name = request('name'); + $status->save(); + + return response()->json($status); + } + + /** + * @return \Illuminate\Http\RedirectResponse + */ + public function deleteStatus($publicId) + { + $status = TaskStatus::scope($publicId)->first(); + + if ($status) { + $status->delete(); + } + + return response()->json(['message' => RESULT_SUCCESS]); + } + } diff --git a/resources/views/tasks/kanban.blade.php b/resources/views/tasks/kanban.blade.php index 8142d7c397aa..ee06f345f611 100644 --- a/resources/views/tasks/kanban.blade.php +++ b/resources/views/tasks/kanban.blade.php @@ -170,12 +170,16 @@ for (var i=0; i
-
+
{{ trans('texts.new_task') }}... diff --git a/routes/web.php b/routes/web.php index 7dfe98d1acbf..26ac453c79c5 100644 --- a/routes/web.php +++ b/routes/web.php @@ -144,6 +144,9 @@ Route::group(['middleware' => ['lookup:user', 'auth:user']], function () { Route::get('time_tracker', 'TimeTrackerController@index'); Route::get('tasks/kanban', 'TaskKanbanController@index'); + Route::post('task_statuses', 'TaskKanbanController@storeStatus'); + Route::put('task_statuses/{task_status_id}', 'TaskKanbanController@updateStatus'); + Route::delete('task_statuses/{task_status_id}', 'TaskKanbanController@deleteStatus'); Route::resource('tasks', 'TaskController'); Route::get('api/tasks/{client_id?}', 'TaskController@getDatatable'); Route::get('tasks/create/{client_id?}/{project_id?}', 'TaskController@create');