/** * 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); }
/** * Remove the specified resource from storage. * * @param Project $project * @param Task $task * @return Response */ public function destroy(Project $project, Task $task) { $this->middleware('auth'); if ($project->ismember(auth()->user(), 'owner') || access()->hasRole('Administrator')) { $task->delete(); return Redirect::route('projects.show', $project->slug)->with('message', 'Tarefa removida.'); } else { return Redirect::route('home')->with('flash_danger', 'Operação não permitida.'); } }