public function delete($id)
 {
     if (is_null(ProjectMember::find($id))) {
         return Errors::invalidId($id);
     }
     $this->repository->delete($id);
     return ['message' => "Registro deletado!"];
 }
Exemplo n.º 2
0
 public function delete($id)
 {
     $entity = Client::find($id);
     if (is_null($entity)) {
         return Errors::invalidId($id);
     }
     foreach ($entity->projects as $proj) {
         $this->projectService->delete($proj->id);
     }
     $this->repository->delete($id);
     return ['message' => "Registro deletado!"];
 }
 public function store(Request $request)
 {
     $data = $request->all();
     if (array_key_exists('file', $data)) {
         $file = $request->file('file');
         if (!$file->isValid()) {
             return Errors::basic('Problema no upload. Arquivo inválido.');
         }
         $data['file'] = $file;
     }
     return $this->service->createFile($data);
 }
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $project_id = $request->route('project') ? $request->route('project') : $request->all()['project_id'];
     $user_id = \Authorizer::getResourceOwnerId();
     if (is_null(Project::find($project_id))) {
         return Errors::invalidId($project_id);
     }
     if (!$this->repository->isMember($project_id, $user_id)) {
         return Errors::basic('Acesso negado! Você não é membro deste projeto.');
     }
     return $next($request);
 }
 public function delete($id)
 {
     $entity = Client::find($id);
     if (is_null($entity)) {
         return Errors::invalidId($id);
     }
     if (count($entity->projects) > 0) {
         return Errors::basic("Este cliente possui projetos. Exclusão cancelada.");
     }
     $this->repository->delete($id);
     return ['message' => "Registro deletado!"];
 }
 public function delete($id)
 {
     $entity = User::find($id);
     if (is_null($entity)) {
         return Errors::invalidId($id);
     }
     if (count($entity->memberOf) > 0) {
         return Errors::basic("Este usuário participa de projetos. Exclusão cancelada.");
     }
     $this->repository->delete($id);
     return ['message' => "Registro deletado!"];
 }
Exemplo n.º 7
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $note_id = $request->note;
     $user_id = \Authorizer::getResourceOwnerId();
     $note = ProjectNote::find($note_id);
     if (is_null($note)) {
         return Errors::invalidId($note_id);
     }
     if (!$this->repository->isMember($note->project_id, $user_id)) {
         return Errors::basic('Acesso negado! Você não é membro do projeto desta nota.');
     }
     return $next($request);
 }
 public function delete($id)
 {
     $pm = ProjectMember::find($id);
     if (is_null($pm)) {
         return Errors::invalidId($id);
     }
     // Lembrete: a verificacao se o usuario autenticado eh o dono do projeto ja foi
     // feita via middleware. Basta agora testar se o membro nao eh o usuario autenticado
     $user_id = \Authorizer::getResourceOwnerId();
     if ($user_id == $pm->user_id) {
         return Errors::basic("Voce eh dono do projeto e portanto nao pode se excluir dele");
     }
     $this->repository->delete($id);
     return ['message' => "Registro deletado!"];
 }
 public function update(array $data, $file_id)
 {
     $file = ProjectFile::find($file_id);
     if (is_null($file)) {
         return Errors::invalidId($file_id);
     }
     try {
         $this->validator->with($data)->passesOrFail(ValidatorInterface::RULE_UPDATE);
         if ($data['project_id'] != $file->project_id) {
             return Errors::basic('Você não pode alterar o projeto do arquivo.');
         }
         if ($data['extension'] != $file->extension) {
             return Errors::basic('Você não pode alterar a extensão do arquivo.');
         }
         $user_id = \Authorizer::getResourceOwnerId();
         if (!$this->projectRepository->isMember($file->project_id, $user_id)) {
             return Errors::basic('Acesso negado. Você não é membro do projeto selecionado.');
         }
         return $this->repository->update($data, $file_id);
     } catch (ValidatorException $e) {
         return Errors::basic($e->getMessageBag());
     }
 }
Exemplo n.º 10
0
 public function removeMember($project_id, $member_id)
 {
     $project = Project::find($project_id);
     if (is_null($project)) {
         return Errors::invalidId($project_id);
     }
     if (is_null(User::find($member_id))) {
         return Errors::invalidId($member_id);
     }
     if ($member_id == $project->owner_id) {
         return Errors::basic("Não é possível remover o dono do projeto.");
     }
     $pm = $this->repository->findMemberAssociation($project_id, $member_id);
     if (is_null($pm)) {
         return Errors::basic("Este usuário não é membro do projeto.");
     }
     return $this->projectMemberService->delete($pm->id);
 }
Exemplo n.º 11
0
 public function delete($task_id)
 {
     $task = ProjectTask::find($task_id);
     if (is_null($task)) {
         return Errors::invalidId($task_id);
     }
     $user_id = \Authorizer::getResourceOwnerId();
     if (!$this->projectRepository->isMember($task->project_id, $user_id)) {
         return Errors::basic('Acesso negado. Você não é membro do projeto desta tarefa.');
     }
     $this->repository->delete($task_id);
     return ['message' => "Registro deletado!"];
 }
Exemplo n.º 12
0
 public function delete($file_id)
 {
     $projectFile = ProjectFile::find($file_id);
     if (is_null($projectFile)) {
         return Errors::invalidId($file_id);
     }
     $user_id = \Authorizer::getResourceOwnerId();
     if (!$this->projectRepository->isMember($projectFile->project_id, $user_id)) {
         return Errors::basic('Acesso negado. Você não é membro do projeto deste arquivo.');
     }
     $nome = $projectFile->id . '.' . $projectFile->extension;
     $this->repository->delete($file_id);
     $this->storage->delete($nome);
     return ['message' => "Registro e arquivo deletados!"];
 }
 public function delete($id)
 {
     $entity = Project::find($id);
     if (is_null($entity)) {
         return Errors::invalidId($id);
     }
     foreach ($entity->tasks as $task) {
         $this->projectTaskService->delete($task->id);
     }
     foreach ($entity->notes as $note) {
         $this->projectNoteService->delete($note->id);
     }
     foreach ($entity->memberAssociations as $pm) {
         $this->projectMemberService->delete($pm->id);
     }
     $this->repository->delete($id);
     return ['message' => "Registro deletado!"];
 }