public function testEditarCliente()
 {
     $nombre = self::RandomString(15, FALSE, FALSE, FALSE) . " - " . time();
     $denominacion = "Denominacion - " . time();
     $descuento = 10;
     $limite_credito = 1000;
     $pass = "******";
     $sitio = "myweb.com";
     //se crea el cliente que despues será editado
     $nuevo_cliente = ClientesController::nuevo($nombre, $clasificacion_cliente = null, $codigo_cliente = null, $cuenta_de_mensajeria = null, $curp = null, $denominacion_comercial = $denominacion, $descuento_general = $descuento, $direcciones = null, $email = null, $id_cliente_padre = null, $id_moneda = 1, $id_tarifa_compra = null, $id_tarifa_venta = null, $limite_credito = $limite_credito, $password = $pass, $representante_legal = null, $rfc = null, $sitio_web = $sitio, $telefono_personal1 = null, $telefono_personal2 = null);
     //se edita el cliente recien ingresado
     ClientesController::Editar($nuevo_cliente['id_cliente'], $clasificacion_cliente = null, $codigo_cliente = null, $cuenta_de_mensajeria = null, $curp = null, $denominacion_comercial = $denominacion . "-123", $descuento_general = 0, $direcciones = null, $email = null, $id_cliente_padre = null, $id_moneda = null, $id_tarifa_compra = null, $id_tarifa_venta = null, $limite_credito = 1500, $password = "******", $password_anterior = "hola123", $razon_social = null, $representante_legal = null, $rfc = null, $sitio_web = $sitio . ".mx", $telefono_personal1 = null, $telefono_personal2 = null);
     $array_datos_cliente = ClientesController::Detalle($nuevo_cliente['id_cliente']);
     $this->assertNotEquals($denominacion, $array_datos_cliente[0]->getDenominacionComercial(), "---- 'testEditarCliente' LA DENOMINACION NO SE ACTUALIZÓ");
     $this->assertNotEquals(10, $array_datos_cliente[0]->getDescuento(), "---- 'testEditarCliente' EL DESCUENTO GENERAL NO SE ACTUALIZÓ");
     $this->assertNotEquals(1000, $array_datos_cliente[0]->getLimiteCredito(), "---- 'testEditarCliente' LIMINTE DE CREDITO NO SE ACTUALIZÓ");
     $this->assertNotEquals("hola123", $array_datos_cliente[0]->getPassword(), "---- 'testEditarCliente' PASSWORD NO SE ACTUALIZÓ");
     $this->assertNotEquals($sitio, $array_datos_cliente[0]->getPaginaWeb(), "---- 'testEditarCliente' SITIO WEB NO SE ACTUALIZÓ");
 }
Example #2
0
 protected function GenerateResponse()
 {
     try {
         $this->response = ClientesController::Detalle(isset($_POST['id_cliente']) ? $_POST['id_cliente'] : null);
     } catch (Exception $e) {
         //Logger::error($e);
         throw new ApiException($this->error_dispatcher->invalidDatabaseOperation($e->getMessage()));
     }
 }
Example #3
0
 /**
  *
  * Valida las credenciales de un usuario y regresa un url a donde se debe de redireccionar. 
  * Este m?todo no necesita de ning?n tipo de autenticaci?n. 
  * Si se detecta un tipo de usuario inferior a admin y no se ha llamado 
  * antes a api/sucursal/revisar_sucursal se regresar? un 403 Authorization 
  * Required y la sesi?n no se iniciar?.
  * Si el usuario que esta intentando iniciar sesion, esta descativado...
  * 403 Authorization Required supongo
  *
  * @param password string La contrasena del usuario.
  * @param usuario string El id de usuario a intentar iniciar sesion.
  * @param request_token bool Si se envia, y es verdadero, el seguimiento de esta sesi�n se har� mediante un token, de lo contrario se har� mediante cookies.
  * @return usuario_grupo int El grupo al que este usuario pertenece.
  * @return siguiente_url string La url a donde se debe de redirigir.
  * @return login_succesful	 bool Si la validaci�n del usuario es correcta.
  * @return auth_token string El token si es que fue solicitado.
  **/
 public static function Iniciar($password, $usuario, $request_token = null)
 {
     //user is not logged in, look for him
     $user = UsuarioDAO::findUser($usuario, $password);
     if (is_null($user)) {
         Logger::warn("===== Credenciales invalidas para usuario {$usuario} ====== ");
         return array("login_succesful" => false, "reason" => "Credenciales Invalidas");
     }
     //verificamos si la instancia esta activa
     if (INSTANCE_ACCESS === "0") {
         return array("login_succesful" => false, "reason" => "Acceso denegado, su instancia esta desactivada");
     }
     //ok user is ok, buscar su usuario en los tokens actuales
     $sesiones_actuales = SesionDAO::search(new Sesion(array("id_usuario" => $user->getIdUsuario())));
     if (sizeof($sesiones_actuales) > 0) {
         foreach ($sesiones_actuales as $s) {
             try {
                 SesionDAO::delete($s);
             } catch (Exception $e) {
                 //Logger::error($e->getMessage());
                 throw new InvalidDatabaseOperationException($e);
             }
         }
     }
     //si tiene un token actualmente que es valido, regenerar el token actualizar la fecha y darle el nuevo token
     $nueva_sesion = new Sesion();
     $nueva_sesion->setIdUsuario($user->getIdUsuario());
     $nueva_sesion->setAuthToken(self::GenerarAuthToken());
     $nueva_sesion->setFechaDeVencimiento(time() + 3600);
     if (isset($_SERVER["HTTP_USER_AGENT"])) {
         $nueva_sesion->setClientUserAgent($_SERVER["HTTP_USER_AGENT"]);
     } else {
         $nueva_sesion->setClientUserAgent("CLI");
     }
     if (isset($_SERVER["REMOTE_ADDR"])) {
         $nueva_sesion->setIp($_SERVER["REMOTE_ADDR"]);
     } else {
         $nueva_sesion->setIp("CLI");
     }
     try {
         SesionDAO::save($nueva_sesion);
     } catch (Exception $e) {
         throw new InvalidDatabaseOperationException($e);
     }
     self::login($nueva_sesion->getAuthToken(), $nueva_sesion->getIdUsuario(), $user->getIdRol());
     self::$_current_user = $user;
     self::$_is_logged_in = true;
     switch ($user->getIdRol()) {
         case 0:
         case 1:
         case 2:
         case 3:
         case 4:
             $next_url = "g/";
             break;
         case 5:
             $next_url = "c/";
             break;
     }
     $r = array("auth_token" => $nueva_sesion->getAuthToken(), "login_succesful" => true, "usuario_grupo" => $user->getIdRol(), "siguiente_url" => $next_url);
     if ($user->getIdRol() == 5) {
         $r["detalles_usuario"] = ClientesController::Detalle($user->getIdUsuario());
     }
     return $r;
 }