/** * Creates a new list * @param ListCreateFormRequest * @return [type] */ public function store(ListCreateFormRequest $request) { $list = new Todolist(array('name' => $request->get('name'), 'description' => $request->get('description'))); $list->category()->associate(Category::find($request->get('category'))); $user = User::find(\Auth::id()); $list = $user->lists()->save($list); return \Redirect::route('lists.show', array($list->id))->with('message', 'Your list has been created!'); }
/** * Toggle task completion * * @param integer $listId The list ID * @param integer $taskId The task ID * @return Response * */ public function complete($listId, $taskId) { $user = User::find(\Auth::id()); $list = Todolist::findOrFail($listId); if ($user->owns($listId)) { $task = $list->tasks()->where('id', '=', $taskId)->first(); if ($task->done == true) { $task->done = false; } else { $task->done = true; } $task->save(); return \Redirect::route('lists.show', [$list->id])->with('message', 'Task updated!'); } else { return \Redirect::route('home')->with('message', 'Authorization error: you do not own this list.'); } }