예제 #1
0
 public function autenticarUsuario(Request $request)
 {
     // credenciales para loguear al usuario
     $credentials['email'] = $request->get('name');
     $credentials['password'] = $request->get('pass');
     $login_ip = getenv('HTTP_CLIENT_IP') ?: getenv('HTTP_X_FORWARDED_FOR') ?: getenv('HTTP_X_FORWARDED') ?: getenv('HTTP_FORWARDED_FOR') ?: getenv('HTTP_FORWARDED') ?: getenv('REMOTE_ADDR');
     try {
         if ($user = Usuario::where('email', $credentials['email'])->first()) {
             if ($user->rol->nombre == 'CENTRAL_EMPRESA' && $user->only_ip && $user->valid_ip != $login_ip) {
                 return response()->json(['mensajeError' => 'No tiene acceso'], 401);
             } elseif ($user->rol->nombre == 'CENTRAL_EMPRESA' && !$user->only_ip) {
                 $user->valid_ip = $login_ip;
                 $user->save();
             }
             if (password_verify($credentials['password'], $user->password)) {
                 $token = JWTAuth::fromUser($user, $this->getData($user));
                 // todo bien devuelve el token
                 return response()->json(compact('token'));
             } else {
                 return response()->json(['mensajeError' => 'Usuario o contraseña incorrectos'], 401);
             }
         } else {
             return response()->json(['mensajeError' => 'Usuario o contraseña incorrectos'], 401);
         }
     } catch (JWTException $e) {
         // si no se puede crear el token
         return response()->json(['error' => 'could_not_create_token'], 500);
     }
 }
 public function updateRegId($usuario_id, $reg_id)
 {
     $usuario = Usuario::find($usuario_id);
     $usuario->reg_id = $reg_id;
     if ($usuario->save()) {
         return response()->json(array('reg_id' => $reg_id, 'Actualizado'));
     } else {
         return response()->json(array('reg_id' => $reg_id, 'Error'));
     }
 }
 public function doLogin()
 {
     $login = $_POST['login'];
     $senha = $_POST['senha'];
     $sql = 'SELECT * FROM Usuario WHERE login = ? AND senha = ?; ';
     $values = array($login, $senha);
     $usuario = \app\model\Usuario::find_by_sql($sql, $values);
     echo 'Usuario:' . $usuario->nome;
     Session::set('usuario', $usuario);
     $url = 'ator/lista';
     header('Location:' . URL . $url);
 }
예제 #4
0
 function login($params)
 {
     $user = new Usuario();
     $user->email = $params['email'];
     $user->senha = $params['pass'];
     Usuario::login($user);
     if ($user) {
         session_start();
         $_SESSION['user'] = serialize($user);
         header("Location: /");
     } else {
         header("Location: login");
     }
 }
예제 #5
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request $request
  *
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $data = $request->json()->all();
     if (Usuario::where('email', $data['correo'])->first()) {
         return response()->json(['mensajeError' => 'ya existe un usuario con este correo electronico'], 409);
     } else {
         $usuario = Usuario::nuevo($data['correo'], $data['contrasena'], $this->getRol()->id);
         $data['usuario_id'] = $usuario->id;
         unset($data['contrasena']);
         $cliente = new Cliente($data);
         if (!$cliente->save()) {
             return response()->json(['menssage' => 'No se ha podido almacenar el usuario'], 400);
             $usuario->delete();
         }
         return response()->json($cliente, 201);
     }
 }
예제 #6
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     try {
         $data = $request->json()->all();
         //USUARIO
         $usuario = Usuario::nuevo($data['correo'], $data['contrasena'], $this->getRol()->id);
         $data['usuario_id'] = $usuario->id;
         unset($data['contrasena']);
         $cliente = new Cliente($data);
         if (!$cliente->save()) {
             return response()->json(['menssage' => 'No se ha podido almacenar el usuario'], 400);
             $usuario->delete();
         }
         return response()->json($cliente, 201);
     } catch (\Exception $exc) {
         return response()->json(array("exception" => $exc->getMessage()), 400);
     }
 }
예제 #7
0
 public function registrarConductor(Request $request)
 {
     $data = $request->json()->all();
     $user = Usuario::nuevo($data['identificacion'], $data['contrasena'], $this->getRol('CONDUCTOR')->id, 1, $data['reg_id']);
     unset($data['contrasena']);
     $data['usuario_id'] = $user->id;
     $empresa_id = $data['empresa_id'];
     unset($data['empresa_id']);
     $conductor = new Conductor($data);
     $conductor->activo = false;
     $empresa = Empresa::find($empresa_id);
     if (!$empresa->conductores()->save($conductor)) {
         $user->delete();
         return response()->json(['mensajeError' => 'no se ha podido almacenar el registro'], 400);
     }
     $token = JWTAuth::fromUser($user);
     return response()->json(compact('token'));
 }
예제 #8
0
 public function autenticarUsuario(Request $request)
 {
     // credenciales para loguear al usuario
     $credentials['email'] = $request->get('name');
     $credentials['password'] = $request->get('pass');
     try {
         $user = Usuario::where('email', $credentials['email'])->first();
         if ($user && password_verify($credentials['password'], $user->password)) {
             $token = JWTAuth::fromUser($user, $this->getData($user));
         } else {
             return response()->json(['mensajeError' => 'Usuario o contraseña incorrectos'], 401);
         }
     } catch (JWTException $e) {
         // si no se puede crear el token
         return response()->json(['error' => 'could_not_create_token'], 500);
     }
     // todo bien devuelve el token
     return response()->json(compact('token'));
 }
예제 #9
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request, $empresa_id)
 {
     try {
         $data = $request->json()->all();
         $ciudad = Ciudad::find($data['ciudad']['id']);
         unset($data['ciudad']);
         $data_usuario = $data['usuario'];
         unset($data['usuario']);
         $usuario = Usuario::nuevo($data_usuario['nombre'], $data_usuario['contrasena'], $this->getRol()->id);
         $data['usuario_id'] = $usuario->id;
         $central = new Central($data);
         $central->ciudad()->associate($ciudad);
         if (!Empresa::find($empresa_id)->centrales()->save($central)) {
             return response()->json(['mensajeError' => 'no se ha podido almacenar el usuario'], 400);
             $usuario->delete();
         }
         return response()->json($central, 201);
     } catch (\Exception $exc) {
         return response()->json(array("exception" => $exc->getMessage()), 400);
     }
 }
예제 #10
0
 private function crearUsuarioPasajero($identificacion)
 {
     return Usuario::nuevo($identificacion, $identificacion, $this->getRol('CLIENTE')->id);
 }
예제 #11
0
 public function storeConductor(Request $request, $empresa_id)
 {
     $data = $request->json()->all();
     $usuario = Usuario::nuevo($data['identificacion'], $data['identificacion'], $this->getRol('CONDUCTOR')->id, '');
     $data['usuario_id'] = $usuario->id;
     $vehiculo_conductor = $data['vehiculo'];
     unset($data['vehiculo']);
     $conductor = new Conductor($data);
     $conductor->activo = true;
     $empresa = Empresa::find($empresa_id);
     if (!$empresa->conductores()->save($conductor)) {
         $usuario->delete();
         return response()->json(['mensajeError' => 'no se ha podido almacenar el registro'], 400);
     }
     $this->storeVehiculoconductor($conductor, $vehiculo_conductor);
 }
예제 #12
0
 public function getOneByPersona($idPersona)
 {
     $usuario = null;
     $mysqli = new mysqli(Connection::DBHOST, Connection::DBUSERNAME, Connection::DBPASS, Connection::DBNAME);
     $query = "SELECT id, id_persona, email, pass, username, habilitado, token, fecha_token, admin\n                  FROM usuario WHERE id_persona=?";
     $statement = $mysqli->prepare($query);
     $statement->bind_param("i", $idPersona);
     if ($statement->execute()) {
         $usuario = new Usuario();
         $statement->bind_result($id, $idPersonas, $email, $pass, $username, $habilitado, $token, $fecha_token, $admin);
         $statement->fetch();
         $usuario->setId($id);
         $usuario->setIdPersona($idPersonas);
         $usuario->setEmail($email);
         $usuario->setPass($pass);
         $usuario->setUsername($username);
         $usuario->setHabilitado($habilitado);
         $usuario->setToken($token);
         $usuario->setFechaToken($fecha_token);
         $usuario->setAdmin($admin);
     }
     $statement->close();
     $mysqli->close();
     return $usuario;
 }
예제 #13
0
        $idUser = $usuarioID->getId();
        $dni = $_POST['dni'];
        $personaDNI = $personaRepository->getOneByDni($dni);
        $idpersona = $personaDNI->getId();
        //Primero creo la persona
        $persona = new Persona();
        $persona->setNombre($_POST['nombre']);
        $persona->setApellido($_POST['apellido']);
        $persona->setDni($_POST['dni']);
        $persona->setDireccion($_POST['dir']);
        $persona->setTelefono($_POST['tel1']);
        $persona->setTelefono2($_POST['tel2']);
        $persona->setLocalidad($_POST['localidad']);
        //Recupero el ID de la persona creada
        $idPersona = $personaRepository->insert($persona);
        //Creo el usuario
        $usuario = new Usuario();
        $usuario->setIdPersona($idPersona);
        $usuario->setEmail($_POST['email']);
        $usuario->setUsername($_POST['user']);
        $usuario->setPass(sha1($_POST['pass']));
        $usuario->setHabilitado(true);
        $usuario->setToken("Generar token");
        $usuario->setFechaToken(new DateTime());
        $usuario->setAdmin(false);
        $id = $usuarioRepository->insert($usuario);
        $_SESSION['id'] = $id;
        $_SESSION['admin'] = 0;
        header("location: ../../index.php");
    }
}
예제 #14
0
 public function storeConductor(Request $request, $empresa_id)
 {
     $data = $request->json()->all();
     if ($this->verificarConductor($data['identificacion'])) {
         return JsonResponse::create(array('mensajeError' => 'Ya existe un conductor con esta identificación'));
     } else {
         if ($this->getUsuario($data['identificacion'])) {
             return JsonResponse::create(array('mensajeError' => 'Ya se encuentra registrado un usuario para este conductor'));
         } else {
             $data = $request->json()->all();
             \DB::beginTransaction();
             try {
                 $usuario = Usuario::nuevo($data['identificacion'], $data['identificacion'], $this->getRol('CONDUCTOR')->id, '');
                 $data['usuario_id'] = $usuario->id;
                 $vehiculo_conductor = $data['vehiculo'];
                 unset($data['vehiculo']);
                 $conductor = new Conductor($data);
                 $conductor->activo = true;
                 $empresa = Empresa::find($empresa_id);
                 if (!$empresa->conductores()->save($conductor)) {
                     \DB::rollBack();
                     return response()->json(['mensajeError' => 'no se ha podido almacenar el registro'], 400);
                 }
                 \DB::commit();
                 return $this->storeVehiculoconductor($conductor, $vehiculo_conductor);
             } catch (\Exception $e) {
                 \DB::rollBack();
             }
         }
     }
 }