/**
  * Remove the specified Departamento from storage.
  *
  * @param  int $id
  *
  * @return Response
  */
 public function destroy($id)
 {
     $departamento = $this->departamentoRepository->findDepartamentoById($id);
     if (empty($departamento)) {
         Flash::error('Departamento not found');
         return redirect(route('departamentos.index'));
     }
     $departamento->delete();
     Flash::message('Departamento deleted successfully.');
     return redirect(route('departamentos.index'));
 }
 /**
  * Show the form for editing the specified Usuario.
  *
  * @param  int $id
  *
  * @return Response
  */
 public function edit($id)
 {
     $usuario = $this->usuarioRepository->find($id);
     if (empty($usuario)) {
         Flash::error('Usuario no encontrado');
         return redirect(route('usuarios.index'))->withInput();
     }
     //Validamos que tenga los permisos o sea su propia cuenta
     if (Auth::user()->id != $id && Auth::user()->rol != 'admin') {
         throw new Exception("No posee los privilegios para editar otros usuarios");
     }
     $departamentos = $this->departamentoRepository->lists('nombre', 'id');
     return view('usuarios.edit')->with('usuario', $usuario)->with('departamentos', $departamentos);
 }
 /**
  * Remove the specified departamento from storage.
  *
  * @param  int $id
  *
  * @return Response
  */
 public function destroy($id)
 {
     $departamento = $this->DepartamentoRepository->find($id);
     if (empty($departamento)) {
         Flash::error('Departamento no encontrado.');
         return redirect(route('departamentos.index'));
     }
     if (count($departamento->Usuarios) > 0) {
         Flash::warning('El Departamento ' . $departamento->nombre . ' tiene usuarios asignados');
         return redirect(route('departamentos.index'));
     }
     $this->DepartamentoRepository->delete($id);
     Flash::success('Departamento borrado satisfactoriamente.');
     return redirect(route('departamentos.index'));
 }