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Ó"); }
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())); } }
/** * * 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; }