/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request, $listId) { $list = $this->list->find($listId); if (Gate::denies('manage-todo', $list)) { abort(403, 'You dont have permissions to do that!!'); } $todo = $list->todos()->create($request->only('name', 'user_id', 'deadline')); return $todo->with('responsible')->find($todo->id); }
/** * @param $id * @param Request $request * @return array */ private function guardCollaboratorsWithLists($id, Request $request) { $collaborator = $this->user->find($request->get('collaborator')); $list = $this->list->find($id); if (!$collaborator || !$list) { abort(403, 'Collaborator or List does not exits'); } if (Gate::denies('manage-lists', $list)) { abort(403, 'You dont have permissions!!'); } return array($collaborator, $list); }