public function store($request) { $project = new Project(); $project->fill($request); $project->save(); /** * Membros */ foreach ($request['members'] as $user_id) { $user = User::find($user_id); $project->members()->save($user); } /** * Categorias */ foreach ($request['categories'] as $category_id) { $category = Category::find($category_id); $project->categories()->save($category); } return $project; }
/** * Current user leave project. * * @param \App\Model\Project $project * @return \Illuminate\Http\Response */ public function leave(Project $project) { $this->middleware('auth'); if ($user = auth()->user()) { if ($project->ismember($user, 'member')) { $project->members()->detach($user->id); return Redirect::route('projects.show', $project->slug)->with('flash_success', 'Você saiu do time do projeto.'); } else { if ($project->ismember($user, 'owner')) { $error = 'Donos de projeto não podem sair do time.'; } else { $error = 'Você não faz parte do time do projeto.'; } } } else { $error = 'Operação não permitida.'; } return Redirect::route('projects.show', $project->slug)->with('flash_danger', $error); }