private static function formatAddress($id_direccion) { if (is_null($daoDireccion = DireccionDAO::getByPK($id_direccion))) { throw new InvalidDataException("Esta no existe."); } $out = self::readableText($daoDireccion->getCalle()) . " " . $daoDireccion->getNumeroExterior() . " "; if ($daoDireccion->getNumeroInterior() != null) { $out .= " Interior " . self::readableText($daoDireccion->getNumeroInterior()); } $out .= "\nColonia " . self::readableText($daoDireccion->getColonia()); if (!is_null($daoDireccion->getIdCiudad())) { $cDao = CiudadDAO::getByPK($daoDireccion->getIdCiudad()); if (!is_null($cDao)) { $out .= "\n"; $out .= self::readableText($cDao->getNombre()) . ", "; $e = EstadoDAO::getByPK($cDao->getIdEstado()); if (!is_null($e)) { $out .= self::readableText($e->getNombre()) . ""; } } } if (strlen($daoDireccion->getCodigoPostal()) > 0) { $out .= "\nC.P. " . $daoDireccion->getCodigoPostal() . "\n"; } return $out; }
/** * * * **/ private static function GetUsuarioArray($id_usuario) { $result = UsuarioDAO::getByPK($id_usuario)->asArray(); if (!is_null($result["id_direccion"])) { $result["direccion"] = DireccionDAO::getByPK($result["id_direccion"])->asArray(); unset($result["direccion"]["id_direccion"]); if (!is_null($result["direccion"]["id_ciudad"])) { $result["direccion"]["ciudad"] = CiudadDAO::getByPK($result["direccion"]["id_ciudad"])->asArray(); unset($result["direccion"]["ciudad"]["id_ciudad"]); } unset($result["direccion"]["id_ciudad"]); } if (!is_null($result["id_direccion_alterna"])) { $result["direccion_alterna"] = DireccionDAO::getByPK($result["id_direccion_alterna"])->asArray(); } if (!is_null($result["id_rol"])) { if (!is_null($r = RolDAO::getByPK($result["id_rol"]))) { $result["rol"] = $r->asArray(); } unset($result["id_rol"]); } unset($result["password"]); unset($result["id_direccion_alterna"]); unset($result["id_direccion"]); unset($result["id_usuario"]); unset($result["fecha_asignacion_rol"]); unset($result["token_recuperacion_pass"]); unset($result["id_clasificacion_proveedor"]); unset($result["id_clasificacion_cliente"]); unset($result["comision_ventas"]); unset($result["last_login"]); unset($result["consignatario"]); unset($result["salario"]); unset($result["saldo_del_ejercicio"]); unset($result["ventas_a_credito"]); unset($result["dia_de_pago"]); unset($result["mensajeria"]); unset($result["dias_de_embarque"]); unset($result["id_tarifa_compra"]); unset($result["tarifa_compra_obtenida"]); unset($result["id_tarifa_venta"]); unset($result["tarifa_venta_obtenida"]); unset($result["facturar_a_terceros"]); return $result; }
public function testCatalogoCuentasEmpresa() { $dir = new Direccion(); $dir->setIdUsuarioUltimaModificacion(1); $dir->setUltimaModificacion(mktime()); $dir->setCalle("Calle: " . mktime()); DAO::transBegin(); try { DireccionDAO::save($dir); } catch (Exception $e) { DAO::transRollback(); Logger::error("No se ha podido guardar la direccion (Desde Unit Tests): " . $e); if ($e->getCode() == 901) { throw new Exception("No se ha podido guardar la nueva direccion (desde Unit Test)|: " . $e->getMessage(), 901); } throw new Exception("No se ha podido guardar la nueva direccion (Desde Unit Tests)", 901); } DAO::transEnd(); $empresa = new Empresa(); $empresa->setRazonSocial("Razon Social - " . time()); $empresa->setRfc(time()); $empresa->setIdDireccion($dir->getIdDireccion()); $empresa->setFechaAlta(mktime()); $empresa->setIdLogo(1); $empresa->setActivo(1); DAO::transBegin(); try { EmpresaDAO::save($empresa); } catch (Exception $e) { DAO::transRollback(); Logger::error("No se ha podido guardar la nueva empresa (Desde Unit Tests): " . $e); if ($e->getCode() == 901) { throw new Exception("No se ha podido guardar la nueva empresa (desde Unit Test)|: " . $e->getMessage(), 901); } throw new Exception("No se ha podido guardar la nueva empresa (Desde Unit Tests)", 901); } DAO::transEnd(); $res = ContabilidadController::NuevoCatalogoCuentasEmpresa($empresa->getIdEmpresa()); //return array("status"=>"ok","id_catalogo_cuentas"=>$nuevo_catalogo_cuentas->getIdCatalogo()); $this->assertSame('ok', $res["status"]); $this->assertInternalType('int', (int) $res["id_catalogo_cuentas"]); }
public function testEditar() { //creamos una sucursal para fines del experimento $direccion = array("calle" => "Monte Balcanes", "numero_exterior" => "107", "numero_interior" => null, "colonia" => "Arboledas", "codigo_postal" => "38060", "id_ciudad" => 334, "referencia" => "Calle cerrada", "telefono1" => "4616149974", "telefono2" => "45*451*454"); $sucursal = SucursalesController::Nueva("Sucursal de phpunit editar " . time(), $direccion, 1, 1, null); //para cambiar la moneda try { $moneda = new Moneda(array("nombre" => "Moneda_" . time(), "simbolo" => "Simbolo_" . time(), "activa" => 1)); MonedaDAO::save($moneda); } catch (Exception $e) { } //editar basico SucursalesController::Editar($id_sucursal = $sucursal["id_sucursal"], $activo = 0, $descripcion = "Descripcion de la sucursal", $direccion = null, $empresas = null, $id_gerente = 1, $id_moneda = $moneda->getIdMoneda(), $razon_social = "Empresa x", $saldo_a_favor = "100000"); //editar la direccion SucursalesController::Editar($id_sucursal = $sucursal["id_sucursal"], $activo = 0, $descripcion = "_EDITADO_" . time(), $direccion = array("calle" => "Monte Balcanes", "numero_exterior" => "107", "colonia" => "Arboledas", "id_ciudad" => 334, "codigo_postal" => "38060", "numero_interior" => null, "texto_extra" => "Calle cerrada", "telefono1" => "4616149974", "telefono2" => "45*451*454"), $empresas = null, $id_gerente = 1, $id_moneda = $moneda->getIdMoneda(), $razon_social = "Empresa x", $saldo_a_favor = "100000"); //vamos a ver si si se edito esa madre $_s = SucursalDAO::getByPK($sucursal["id_sucursal"]); $this->assertEquals($descripcion, $_s->getDescripcion()); $_d = DireccionDAO::getByPK($_s->getIdDireccion()); $this->assertEquals($_d->getCalle(), "Monte Balcanes"); $this->assertEquals($_d->getNumeroExterior(), "107"); $this->assertEquals($_d->getColonia(), "Arboledas"); $this->assertEquals($_d->getIdCiudad(), 334); $this->assertEquals($_d->getCodigoPostal(), "38060"); //$this->assertEquals($_d->getTextoExtra(), "Calle cerrada"); }
<?php define("BYPASS_INSTANCE_CHECK", false); require_once "../../../server/bootstrap.php"; $page = new GerenciaComponentPage(); // Parametros necesarios $page->requireParam("sid", "GET", "Esta sucursal no existe."); $esta_sucursal = SucursalDAO::getByPK($_GET["sid"]); $esta_direccion = DireccionDAO::getByPK($esta_sucursal->getIdDireccion()); // Titulo de la pagina $page->addComponent(new TitleComponent("Editar sucursal " . $esta_sucursal->getDescripcion(), 2)); //forma de nueva empresa $sucursal_form = new DAOFormComponent($esta_sucursal); $sucursal_form->hideField(array("id_sucursal", "id_direccion", "fecha_apertura", "fecha_baja")); $sucursal_form->renameField(array("id_gerente" => "id_usuario")); $sucursal_form->createComboBoxJoin("id_usuario", "nombre", UsuarioDAO::getAll(), $esta_sucursal->getIdGerente()); $sucursal_form->createComboBoxJoin("id_tarifa", "nombre", TarifaDAO::getAll(), $esta_sucursal->getIdTarifa()); $sucursal_form->createComboBoxJoin("activa", "activa", array(array("id" => false, "caption" => "No"), array("id" => true, "caption" => "Sí")), $esta_sucursal->getActiva()); $page->addComponent($sucursal_form); $page->addComponent(new TitleComponent("Direccion", 3)); $direccion_form = new DAOFormComponent($esta_direccion); $direccion_form->hideField(array("id_direccion", "ultima_modificacion", "id_usuario_ultima_modificacion")); $direccion_form->createComboBoxJoin("id_ciudad", "nombre", CiudadDAO::getAll(), $esta_direccion->getIdDireccion()); $direccion_form->renameField(array("id_ciudad" => "ciudad")); $js = "(function(){\n\t\t\t\tPOS.API.POST(\"api/sucursal/editar/\",{\n\t\t\t\t\tid_sucursal\t\t: " . $_GET['sid'] . ",\n\t\t\t\t\tdescripcion\t\t: Ext.get(\"" . $sucursal_form->getGuiComponentId() . "descripcion\").getValue(),\n\t\t\t\t\tid_gerente\t\t: Ext.get(\"" . $sucursal_form->getGuiComponentId() . "id_usuario\").getValue(),\n\t\t\t\t\tid_tarifa\t\t: Ext.get(\"" . $sucursal_form->getGuiComponentId() . "id_tarifa\").getValue(),\n\t\t\t\t\tactivo\t\t\t: Ext.get(\"" . $sucursal_form->getGuiComponentId() . "activa\").getValue(),\n\t\t\t\t\tdireccion : Ext.JSON.encode({\n\t\t\t\t\t\t \tcalle\t\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "calle\").getValue(),\n\t\t\t\t\t\t\tnumero_exterior\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "numero_exterior\").getValue(),\n\t\t\t\t\t\t numero_interior\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "numero_interior\").getValue(),\n\t\t\t\t\t\t colonia\t\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "colonia\").getValue(),\n\t\t\t\t\t\t codigo_postal\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "codigo_postal\").getValue(),\n\t\t\t\t\t\t telefono1\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "telefono\").getValue(),\n\t\t\t\t\t\t telefono2\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "telefono2\").getValue(),\n\t\t\t\t\t\t id_ciudad\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "ciudad\").getValue(),\n\t\t\t\t\t\t referencia\t\t: Ext.get(\"" . $direccion_form->getGuiComponentId() . "referencia\").getValue()\n\t\t\t\t\t})\n\t\t\t\t},{ callback : function(a,b){\n\t\t\t\t\twindow.onbeforeunload = function(){ return;\t};\n\t\t\t\t\twindow.location = \"sucursales.ver.php?sid=\"+ " . $_GET['sid'] . ";\n\t\t\t\t}});\n\t\t\t})()"; $direccion_form->addOnClick("Editar sucursal", $js); $page->addComponent($direccion_form); $page->render();
public static function validarParametrosUsuario($id_usuario = null, $id_direccion = null, $id_sucursal = null, $id_rol = null, $id_clasificacion_cliente = null, $id_clasificacion_proveedor = null, $id_moneda = null, $activo = null, $nombre = null, $rfc = null, $curp = null, $comision_ventas = null, $telefono_personal1 = null, $telefono_personal2 = null, $limite_credito = null, $descuento = null, $password = null, $salario = null, $correo_electronico = null, $pagina_web = null, $saldo_del_ejercicio = null, $ventas_a_credito = null, $representante_legal = null, $facturar_a_terceros = null, $dia_de_pago = null, $mensajeria = null, $intereses_moratorios = null, $denominacion_comercial = null, $dias_de_credito = null, $cuenta_de_mensajeria = null, $dia_de_revision = null, $codigo_usuario = null, $dias_de_embarque = null, $tiempo_entrega = null, $cuenta_bancaria = null, $id_tarifa_compra = null, $id_tarifa_venta = null, $id_usuario_padre = null) { //valida que el id del usuario exista en la base de datos if (!is_null($id_usuario)) { if (is_null(UsuarioDAO::getByPK($id_usuario))) { return "El usuario con id: " . $id_usuario . " no existe"; } } //valida que el id de la direccion exista en la base de datos if (!is_null($id_direccion)) { if (is_null(DireccionDAO::getByPK($id_direccion))) { return "La direccion con id: " . $id_direccion . " no existe"; } } //valida el id de la sucursal exista en la base de datos if (!is_null($id_sucursal)) { if (is_null(SucursalDAO::getByPK($id_sucursal))) { return "La sucursal con id: " . $id_sucursal . " no existe"; } } //valida que el id del rol exista en la base de datos if (!is_null($id_rol)) { if (is_null(RolDAO::getByPK($id_rol))) { return "El rol con id: " . $id_rol . " no existe"; } } //valida que la clasificacion del cliente exista en la base de datos if (!is_null($id_clasificacion_cliente)) { if (is_null(ClasificacionClienteDAO::getByPK($id_clasificacion_cliente))) { return "La clasificacion cliente con id: " . $id_clasificacion_cliente . " no existe"; } } //valida que la clasificacion del proveedor exista en la base de datos if (!is_null($id_clasificacion_proveedor)) { if (is_null(ClasificacionProveedorDAO::getByPK($id_clasificacion_proveedor))) { return "La clasficiacion proveedor con id: " . $id_clasificacion_proveedor . " no existe"; } } //valida que la moneda exista en la base de datos if (!is_null($id_moneda)) { Logger::log("Editando a moneda:" . $id_moneda); if (is_null(MonedaDAO::getByPK($id_moneda))) { return "La moneda con id: " . $id_moneda . " no existe"; } } //valida el nombre if (!is_null($nombre)) { $e = ValidacionesController::validarLongitudDeCadena($nombre, 1, 100); if (!$e) { return "El numero de caracteres del nombre (" . $nombre . ") no esta entre 1 y 100"; } } //valida el rfc, el rfc solo puede estar compuesto por Letras mayusculas y numeros if (!is_null($rfc)) { $e = ValidacionesController::validarLongitudDeCadena($rfc, 1, 30); if (!$e) { return "El numero de caracteres del rfc (" . $rfc . ") no esta entre 1 y 30"; } if (preg_match('/[^A-Z0-9]/', $rfc)) { return "El rfc " . $rfc . " contiene caracteres fuera del rango A-Z y 0-9"; } } //valida el curp, el curp solo puede tener letras mayusculas y numeros if (!is_null($curp)) { $e = ValidacionesController::validarLongitudDeCadena($curp, 1, 30); if (!$e) { return "El numero de caracteres de la curp (" . $curp . ") no esta entre 1 y 30"; } if (preg_match('/[^A-Z0-9]/', $curp)) { return "El curp " . $curp . " contiene caracteres fuera del rango A-Z y 0-9"; } } //valida la comision por ventas if (!is_null($comision_ventas)) { $e = ValidacionesController::validarNumero($comision_ventas, 0, 100); if (!$e) { return "La comision de ventas (" . $comision_ventas . ") no esta entre 0 y 100"; } } //valida el telefono. Los telefonos solo pueden tener numeros, guiones,parentesis,asteriscos y espacios en blanco if (!is_null($telefono_personal1)) { $e = ValidacionesController::validarLongitudDeCadena($telefono_personal1, 1, 20); if (!$e) { return "El numero de caracteres del telefono personal (" . $telefono_personal1 . ") no esta entre 1 y 20"; } if (preg_match('/[^0-9\\- \\(\\)\\*]/', $telefono_personal1)) { return "El telefono " . $telefono_personal1 . " tiene caracteres fuera del rango 0-9,-,(,),* o espacio vacío"; } } //valida el telefono. Los telefonos solo pueden tener numeros, guiones,parentesis,asteriscos y espacios en blanco if (!is_null($telefono_personal2)) { $e = ValidacionesController::validarLongitudDeCadena($telefono_personal2, 1, 20); if (!$e) { return "El numero de caracteres del telefono personal alterno (" . $telefono_personal2 . ") no esta entre 1 y 20"; } if (preg_match('/[^0-9\\- \\(\\)\\*]/', $telefono_personal2)) { return "El telefono " . $telefono_personal2 . " tiene caracteres fuera del rango 0-9,-,(,),* o espacio vacío"; } } //valida el activo. Activo es una variable booleana. if (!is_null($activo)) { $e = ValidacionesController::validarEntero($activo, 0, 1); if (!$e) { return "La variable activo (" . $activo . ") no esta entre 0 y 1"; } } //valida el limite de credito if (!is_null($limite_credito)) { $e = ValidacionesController::validarNumero($limite_credito, 0, 1.8E+200); if (!$e) { return "El limite de credito (" . $limite_credito . ") no esta entre 0 y 1.8e200"; } } //valida el descuento. El descuento es un porcentaje y no puede ser mayor a 100 if (!is_null($descuento)) { $e = ValidacionesController::validarNumero($descuento, 0, 100); if (!$e) { return "El descuento (" . $descuento . ") no esta entre 0 y 100"; } } //valida el password, El pasword tiene que tener una longitud mayor o igual a 4 if (!is_null($password)) { $e = ValidacionesController::validarLongitudDeCadena($password, 4, 32); if (!$e) { return "El numero de caracteres del password (" . $password . ") no esta entre 4 y 32"; } } //valida el salario if (!is_null($salario)) { $e = ValidacionesController::validarNumero($salario, 0, 1.8E+200); if (!$e) { return "El salario (" . $salario . ") no esta entre 0 y 1.8e200"; } } //valida el correo electronico segun las especificaciones de php if (!is_null($correo_electronico)) { $e = ValidacionesController::validarLongitudDeCadena($correo_electronico, 3, 30); if (!$e) { return "El numero de caracteres del correo electronico (" . $correo_electronico . ") no esta entre 3 y 30"; } if (!is_string(filter_var($correo_electronico, FILTER_VALIDATE_EMAIL))) { return "El correo electronico " . $correo_electronico . " no es valido"; } } //valida que una pagina web tenga un formato valido. if (!is_null($pagina_web)) { $e = ValidacionesController::validarLongitudDeCadena($pagina_web, 2, 30); if (!$e) { return $e; } if (!preg_match('/^(http|https|ftp):\\/\\/[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,6}' . '((:[0-9]{1,5})?\\/.*)?$/i', $pagina_web) && !preg_match('/^[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,6}' . '((:[0-9]{1,5})?\\/.*)?$/i', $pagina_web)) { return "La direccion web " . $pagina_web . " no cumple el formato valido"; } } //valida el saldo del ejercicio if (!is_null($saldo_del_ejercicio)) { $e = ValidacionesController::validarNumero($saldo_del_ejercicio, -1.8E+200, 1.8E+200); if (!$e) { return "El saldo del ejercicio (" . $saldo_del_ejercicio . ") no esta entre -1.8e200 y 1.8e200"; } } //valida las ventas a credito if (!is_null($ventas_a_credito)) { $e = ValidacionesController::validarEntero($ventas_a_credito, 0, PHP_INT_MAX); if (!$e) { return "Las venta a credito no estan entre 0 y " . PHP_INT_MAX; } } //valida el represnetante legal if (!is_null($representante_legal)) { $e = ValidacionesController::validarLongitudDeCadena($representante_legal, 0, 100); if (!$e) { return "El numero de caracteres del representante legal (" . $representante_legal . ") no esta entre 0 y 100"; } } //valida la facturacion a terceros. Es un boleano if (!is_null($facturar_a_terceros)) { $e = ValidacionesController::validarEntero($facturar_a_terceros, 0, 1); if (!$e) { return "La variable facturar a terceros (" . $facturar_a_terceros . ") no esta entre 0 y 1"; } } //valida los dias de pago if (!is_null($dia_de_pago)) { $e = ValidacionesController::validarLongitudDeCadena($dia_de_pago, 19, 19); if (!$e) { return "La fecha de dia de pago (" . $dia_de_pago . ") es invalida, el formato valido es YYYY-MM-dd HH:mm:ss"; } } //valida el boleano mensajeria if (!is_null($mensajeria)) { $e = ValidacionesController::validarEntero($mensajeria, 0, 1); if (!$e) { return "La variable mensajeria (" . $mensajeria . ") no esta entre 0 y 1"; } } //valida los intereses moratorios if (!is_null($intereses_moratorios)) { $e = ValidacionesController::validarNumero($intereses_moratorios, 0, 1.8E+200); if (!$e) { return "Los intereses moratorios (" . $intereses_moratorios . ") no estan entre 0 y 1.8e200"; } } //valida la denominacion comercial if (!is_null($denominacion_comercial)) { $e = ValidacionesController::validarLongitudDeCadena($denominacion_comercial, 0, 100); if (!$e) { return "El numero de caracteres de la denominacion comercial (" . $denominacion_comercial . ") no esta entre 0 y 100"; } } //valida los dias de credito if (!is_null($dias_de_credito)) { $e = ValidacionesController::validarEntero($dias_de_credito, 0, PHP_INT_MAX); if (!$e) { return "Los dias de credito (" . $dias_de_credito . ") no estan en el rango de 0 a " . PHP_INT_MAX; } } //valida la cuenta de mensajeria if (!is_null($cuenta_de_mensajeria)) { $e = ValidacionesController::validarLongitudDeCadena($cuenta_de_mensajeria, 0, 50); if (!$e) { return "El numero de caracteres de la cuenta de mensajeria (" . $cuenta_de_mensajeria . ") no etsa entre 0 y 50"; } } //valida lso dias de revision if (!is_null($dia_de_revision)) { $e = ValidacionesController::validarLongitudDeCadena($dia_de_revision, 19, 19); if (!$e) { return "El dia de revision (" . $dia_de_revision . ") no tiene el formato apropiado, el formato valido es YYYY-MM-dd HH:mm:ss"; } } //valida el codigo de usuario if (!is_null($codigo_usuario)) { $e = ValidacionesController::validarLongitudDeCadena($codigo_usuario, 1, 50); if (!$e) { return "El numero de caracteres del codigo de usuario no esta entre 1 y 50"; } if (preg_match('/[^a-zA-Z0-9]/', $codigo_usuario)) { return "El codigo de usuario (" . $codigo_usuario . ") no tiene solo caracteres alfanumericos"; } } //valida los dias de embarque if (!is_null($dias_de_embarque)) { $e = ValidacionesController::validarEntero($dias_de_embarque, 0, PHP_INT_MAX); if (!$e) { return "Los dias de embarque (" . $dias_de_embarque . ") no esta entre 0 y " . PHP_INT_MAX; } } //valida el tiempo de entrega if (!is_null($tiempo_entrega)) { $e = ValidacionesController::validarEntero($tiempo_entrega, 0, PHP_INT_MAX); if (!$e) { return "El tiempo de entrega (" . $tiempo_entrega . ") no esta entre 0 y " . PHP_INT_MAX; } } //valida la cuenta bancaria if (!is_null($cuenta_bancaria)) { $e = ValidacionesController::validarLongitudDeCadena($cuenta_bancaria, 0, 50); if (!$e) { return "El numero de caracteres de la cuenta bancaria (" . $cuenta_bancaria . ") no esta entre 0 y 50"; } } //valida que la tarifa de compra sea valida if (!is_null($id_tarifa_compra)) { $tarifa = TarifaDAO::getByPK($id_tarifa_compra); if (is_null($tarifa)) { return "La tarifa " . $id_tarifa_compra . " no existe"; } if (!$tarifa->getActiva()) { return "La tarifa " . $id_tarifa_compra . " no esta activa"; } if ($tarifa->getTipoTarifa() != "compra") { return "La tarifa " . $id_tarifa_compra . " no es una tarifa de compra"; } } //valida que la tarifa de venta sea valida if (!is_null($id_tarifa_venta)) { $tarifa = TarifaDAO::getByPK($id_tarifa_venta); if (is_null($tarifa)) { return "La tarifa " . $id_tarifa_venta . " no existe"; } if (!$tarifa->getActiva()) { return "La tarifa " . $id_tarifa_venta . " no esta activa"; } if ($tarifa->getTipoTarifa() != "venta") { return "La tarifa " . $id_tarifa_venta . " no es una tarifa de venta"; } } //valida que el usuario padre exista y este activo if (!is_null($id_usuario_padre)) { $usuario_padre = UsuarioDAO::getByPK($id_usuario_padre); if (is_null($usuario_padre)) { return "El usuario padre " . $id_usuario_padre . " no existe"; } if ($usuario_padre->getActivo()) { return "El usuario padre " . $usuario_padre->getNombre() . " no esta activo"; } } return true; }
<?php define("BYPASS_INSTANCE_CHECK", false); require_once "../../../server/bootstrap.php"; $page = new GerenciaComponentPage(); $page->requireParam("pid", "GET", "Este proveedor no existe."); $este_proveedor = UsuarioDAO::getByPK($_GET["pid"]); $esta_direccion = DireccionDAO::getByPK($este_proveedor->getIdDireccion()); $page->addComponent(new TitleComponent("Editar proveedor: " . $este_proveedor->getNombre())); //forma de nuevo cliente if (is_null($esta_direccion)) { $esta_direccion = new Direccion(); } $form = new DAOFormComponent(array($este_proveedor, $esta_direccion)); $form->hideField(array("id_usuario", "id_direccion", "id_direccion_alterna", "id_rol", "id_sucursal", "id_clasificacion_cliente", "fecha_asignacion_rol", "comision_ventas", "fecha_alta", "fecha_baja", "last_login", "salario", "id_direccion", "ultima_modificacion", "id_usuario_ultima_modificacion", "consignatario", "intereses_moratorios", "mensajeria", "cuenta_de_mensajeria", "denominacion_comercial", "facturar_a_terceros", "dia_de_revision", "dia_de_pago", "ventas_a_credito", "saldo_del_ejercicio", "codigo_usuario", "id_clasificacion_proveedor")); $form->createComboBoxJoin("id_moneda", "nombre", MonedaDAO::search(new Moneda(array("activa" => 1))), $este_proveedor->getIdMoneda()); $clasificaciones = ContactosController::BuscarCategoria(); $clasificaciones = $clasificaciones['categorias']; foreach ($clasificaciones as $key => $clasificacion) { $clasificacion->caption = $clasificacion->nombre; $clasificaciones[$key] = $clasificacion->asArray(); } $form->createComboBoxJoin('id_categoria_contacto', 'nombre', $clasificaciones); $form->createComboBoxJoin("id_ciudad", "nombre", CiudadDAO::getAll(), $esta_direccion->getIdCiudad()); $form->renameField(array("nombre" => "razon_social", "telefono" => "telefono1", "correo_electronico" => "email", "id_categoria_contacto" => "id_tipo_proveedor", "pagina_web" => "direccion_web", "referencia" => "texto_extra", "id_usuario" => "id_proveedor")); $form->setValueField("password", ""); $form->addApiCall("api/proveedor/editar/", "GET"); $form->onApiCallSuccessRedirect("proveedores.lista.php"); $form->sendHidden("id_proveedor"); $page->addComponent($form); $page->render();
/** * *Edita los datos de una sucursal * * @author Juan Manuel García Carmona <*****@*****.**> * @param id_sucursal int Id de la sucursal a modificar * @param id_tarifa int Id de la tarifa por default de la sucursal * @param activo bool Indica si esta sucursal estar activa * @param descripcion string Descripcion de la sucursal * @param direccion json Objeto que contiene la informacin sobre al direccion * @param id_gerente int Id del gerente de la sucursal **/ public static function Editar($id_sucursal, $activo = null, $descripcion = null, $direccion = null, $id_gerente = null, $id_tarifa = null) { DAO::transBegin(); //Se obtiene la sucursal a editar y se valida que exista if (!($sucursal = SucursalDAO::getByPK($id_sucursal))) { Logger::error("La sucursal con id : {$id_sucursal} no existe"); throw new InvalidDataException("La sucursal con id : {$id_sucursal} no existe"); } //verificamos si la sucursal esta activa en caso de no estarlo solo permitira activarla if ($activo !== NULL) { $val = null; if ($activo == 1) { $val = true; } elseif ($activo == "") { $val = false; } $sucursal->setActiva($val); } //editamos solo la direccion if (!is_null($direccion)) { if (!is_array($direccion)) { $direccion = object_to_array($direccion); } //varificamos si la direccion que tiene la sucursal existe si no creamos una if (!($_direccion = DireccionDAO::getByPK($sucursal->getIdDireccion()))) { //no existe, etonces creamos una nueva direccion DireccionController::NuevaDireccion(isset($direccion['calle']) ? $direccion['calle'] : "", isset($direccion['numero_exterior']) ? $direccion['numero_exterior'] : "", isset($direccion['colonia']) ? $direccion['colonia'] : "", isset($direccion['id_ciudad']) ? $direccion['id_ciudad'] : "", isset($direccion['codigo_postal']) ? $direccion['codigo_postal'] : "", isset($direccion['numero_interior']) ? $direccion['numero_interior'] : "", isset($direccion['referencia']) ? $direccion['referencia'] : "", isset($direccion['telefono1']) ? $direccion['telefono1'] : "", isset($direccion['telefono2']) ? $direccion['telefono2'] : ""); } else { //la direccion existe, hay que editarla $_direccion->setCalle(isset($direccion['calle']) ? $direccion['calle'] : ""); $_direccion->setNumeroExterior(isset($direccion['numero_exterior']) ? $direccion['numero_exterior'] : ""); $_direccion->setNumeroInterior(isset($direccion['numero_interior']) ? $direccion['numero_interior'] : ""); $_direccion->setReferencia(isset($direccion['referencia']) ? $direccion['referencia'] : ""); $_direccion->setColonia(isset($direccion['colonia']) ? $direccion['colonia'] : ""); $_direccion->setIdCiudad(isset($direccion['id_ciudad']) ? $direccion['id_ciudad'] : ""); $_direccion->setCodigoPostal(isset($direccion['codigo_postal']) ? $direccion['codigo_postal'] : ""); $_direccion->setTelefono(isset($direccion['telefono1']) ? $direccion['telefono1'] : ""); $_direccion->setTelefono2(isset($direccion['telefono2']) ? $direccion['telefono2'] : ""); try { DireccionDAO::save($_direccion); } catch (Exception $e) { DAO::transRollback(); Logger::error("Error al modificar la direccion : {$e}"); throw new Exception("Ocurrio un error al modificar la direccion"); } } } //verificamos si cambio el gerente if (!is_null($id_gerente)) { $usuario_gerente = UsuarioDAO::getByPK($id_gerente); if (!$usuario_gerente) { Logger::error("No se tiene registro del gerente con id : {$id_gerente}"); throw new Exception("No se tiene registro del gerente con id : {$id_gerente}"); } else { $sucursal->setIdGerente($usuario_gerente->getIdUsuario()); } } // if (!is_null($id_tarifa) && !($tarifa = TarifaDAO::getByPK($id_tarifa))) { Logger::error("No se tiene registro de la tarifa con id : {$id_gerente}"); throw new Exception("No se tiene registro de la tarifa indicada"); } else { $sucursal->setIdTarifa($id_tarifa); } //verificamos si cambio la descripcion $descripcion = trim($descripcion); if ($descripcion !== $sucursal->getDescripcion()) { //verificamos si hay una sucursal con esa misma descripcion $sucursales = SucursalDAO::search(new Sucursal(array("descripcion" => $descripcion))); if (!empty($sucursales)) { DAO::transRollback(); Logger::error("Ya existe una sucursal con esa descripcion"); throw new Exception("Ya existe una sucursal con esa descripcion"); } else { $sucursal->setDescripcion($descripcion); } } try { SucursalDAO::save($sucursal); } catch (Exception $e) { DAO::transRollback(); Logger::error("No se pudo actualizar la sucursal: " . $e); if ($e->getCode() == 901) { throw new Exception("No se pudo actualizar la sucursal: " . $e->getMessage(), 901); } throw new Exception("No se pudo actualizar la sucursal", 901); } DAO::transEnd(); Logger::log("Sucursal actualizada exitosamente"); }
//esta definida pero el registro no existe por alguna razon Logger::error("user " . $_GET["uid"] . " se supone que tiene id direccion = " . $this_personal->getIdDireccion() . " , pero esta en null ..."); DAO::transBegin(); $this_personal->setIdDireccion(NULL); try { UsuarioDAO::save($this_personal); DireccionController::NuevaDireccionParaUsuario($this_personal->getIdUsuario()); //recargar el objeto de cliente $this_personal = UsuarioDAO::getByPK($_GET["uid"]); } catch (Exception $e) { DAO::transRollback(); throw new Exception("No se pudo crear la direccion: " . $e); } DAO::transEnd(); } $esta_dir = DireccionDAO::getByPK($this_personal->getIdDireccion()); //titulos $page->addComponent(new TitleComponent("Editar direccion: " . $esta_dir->getColonia())); //forma de nuevo usuario $form = new DAOFormComponent($esta_dir); $form->hideField(array("id_direccion", "id_usuario_ultima_modificacion", "ultima_modificacion")); $form->sendHidden("id_direccion"); $form->createComboBoxJoin("id_ciudad", "nombre", CiudadDAO::getAll(), $esta_dir->getIdCiudad()); $form->setCaption("id_ciudad", "Ciudad"); $form->addApiCall("api/personal/usuario/editar/"); $form->beforeSend("editar_direccion"); $page->partialRender(); ?> <script>
/** *Detalles($id_empresa) * *Muestra los detalles de una empresa en especifico. * * @author Juan Manuel García Carmona <*****@*****.**> * @param id_empresa int Id de la empresa **/ public static function Detalles($id_empresa) { //verificamos si la empresa a consular existe if (!($empresa = EmpresaDAO::getByPK($id_empresa))) { Logger::error("No se tiene registro de la empresa {$id_empresa}"); throw new InvalidDataException("No se tiene registro de la empresa {$id_empresa}"); } //extraemos su domicilio fiscal if (!($direccion = DireccionDAO::getByPK($empresa->getIdDireccion()))) { $direccion = new stdClass(); } //relacionamos a la empresa con la direccion $empresa->direccion = $direccion; //obtenemos el logo $logo = LogoDAO::getByPK($empresa->getIdLogo()); if ($logo === NULL) { $logo = LogoDAO::getByPK(-1); } $empresa->logo = $logo->getImagen(); //obtenemos su contabilidad $contabilidad = array(); $contabilidad["moneda_base"] = EmpresaDAO::getMonedaBase($empresa->getIdEmpresa()); $contabilidad["ejercicio"] = EmpresaDAO::getEjercicioActual($empresa->getIdEmpresa()); //extraemos sus sucursales $sucursales = array(); $sucursales_empresa = SucursalEmpresaDAO::search(new SucursalEmpresa(array("id_empresa" => $id_empresa))); foreach ($sucursales_empresa as $sucursal_empresa) { if ($sucursal = SucursalDAO::getByPK($sucursal_empresa->getIdSucursal())) { array_push($sucursales, $sucursal); } } //obtenemos todos los impuestos relacionados a la empresa $impuestos_empresa = ImpuestoEmpresaDAO::search(new ImpuestoEmpresa(array("id_empresa" => $id_empresa))); //extraemos sus impuestos de compra $impuestos_compra = array(); foreach ($impuestos_empresa as $impuesto_compra_empresa) { if (!($impuesto = ImpuestoDAO::getByPK($impuesto_compra_empresa->getIdImpuesto()))) { Logger::warn("No se tiene registro de un impuesto con id = " . $impuesto_compra_empresa->getIdImpuesto()); throw new InvalidDataException("No se tiene registro de un impuesto con id = " . $impuesto_compra_empresa->getIdImpuesto()); } if ($impuesto->getAplica() === "compra" || $impuesto->getAplica() === "ambos") { array_push($impuestos_compra, $impuesto); } } //extraemos sus impuestos de venta $impuestos_venta = array(); foreach ($impuestos_empresa as $impuesto_venta_empresa) { if (!($impuesto = ImpuestoDAO::getByPK($impuesto_venta_empresa->getIdImpuesto()))) { Logger::warn("No se tiene registro de un impuesto con id = " . $impuesto_venta_empresa->getIdImpuesto()); throw new InvalidDataException("No se tiene registro de un impuesto con id = " . $impuesto_venta_empresa->getIdImpuesto()); } if ($impuesto->getAplica() === "venta" || $impuesto->getAplica() === "ambos") { array_push($impuestos_venta, $impuesto); } } return array("detalles" => $empresa, "sucursales" => $sucursales, "impuestos_compra" => $impuestos_compra, "impuestos_venta" => $impuestos_venta, "contabilidad" => $contabilidad); Logger::log("Detalles de la empresa enviados con exito"); }
<?php define("BYPASS_INSTANCE_CHECK", false); require_once "../../../server//bootstrap.php"; $page = new GerenciaComponentPage(); // // Parametros necesarios // $page->requireParam("cid", "GET", "Este cliente no existe."); $este_cliente = UsuarioDAO::getByPK($_GET["cid"]); $esta_direccion = DireccionDAO::getByPK($este_cliente->getIdDireccion()); //titulos $page->addComponent(new TitleComponent("Editar a " . $este_cliente->getNombre())); //forma de nuevo cliente if (is_null($esta_direccion)) { $esta_direccion = new Direccion(); } $form = new DAOFormComponent(array($este_cliente, $esta_direccion)); $form->hideField(array("id_usuario", "id_direccion", "id_direccion_alterna", "id_sucursal", "id_rol", "id_clasificacion_proveedor", "fecha_asignacion_rol", "comision_ventas", "fecha_alta", "fecha_baja", "activo", "last_login", "salario", "saldo_del_ejercicio", "dia_de_pago", "dias_de_embarque", "id_direccion", "ultima_modificacion", "id_usuario_ultima_modificacion", "consignatario", "facturar_a_terceros", "dia_de_revision", "tiempo_entrega", "ventas_a_credito", "intereses_moratorios", "cuenta_bancaria", "dias_de_credito", "limite_credito")); $form->renameField(array("id_usuario" => "id_cliente")); $form->sendHidden("id_cliente"); $form->setValueField("password", ""); $form->createComboBoxJoin("id_moneda", "nombre", MonedaDAO::search(new Moneda(array("activa" => 1))), $este_cliente->getIdMoneda()); $form->createComboBoxJoin("id_clasificacion_cliente", "nombre", ClasificacionClienteDAO::getAll(), $este_cliente->getIdClasificacionCliente()); $form->addApiCall("api/cliente/editar_perfil/"); $form->onApiCallSuccessRedirect("clientes.lista.php"); $form->createComboBoxJoin("id_ciudad", "nombre", CiudadDAO::getAll(), $esta_direccion->getIdCiudad()); $form->renameField(array("nombre" => "razon_social", "codigo_usuario" => "codigo_cliente", "telefono" => "telefono1", "correo_electronico" => "email", "id_clasificacion_cliente" => "clasificacion_cliente", "id_moneda" => "moneda_del_cliente", "pagina_web" => "direccion_web", "id_ciudad" => "municipio", "referencia" => "texto_extra")); $page->addComponent($form); $page->render();
define("BYPASS_INSTANCE_CHECK", false); require_once "../../../server/bootstrap.php"; $page = new GerenciaTabPage(); // Requerir parametros $page->requireParam("eid", "GET", "Esta empresa no existe."); $empresa = EmpresasController::Detalles($_GET["eid"]); $page->addComponent("<div class=\"POS Boton OK\" onclick=\"editarEmpresa();\">Guardar Cambios</div> ó <a href=\"empresas.ver.php?eid=" . $_GET["eid"] . "\" style = \"margin-left:12px;\">Descartar</a> <div class=\"POS Boton\" onclick=\"\" style=\"float:right;\">Vista Previa de Documentos</div>"); $html = "<table style = \"margin-top:10px;\">" . "\t<tr>" . "\t\t<td>" . "\t\t\t<img id = \"img_logo\" width=\"100\" height=\"93\" title=\"\" alt=\"\" src=\"" . urldecode($empresa["detalles"]->logo) . "\" /><br />" . "\t\t\t<input type=\"file\" id=\"file_logo\"name=\"pic\" size=\"40\" onChange=\"cambiarLogo(this);\">" . "\t\t</td>" . "\t\t<td>" . "\t\t\t<h1>Empresa</h1><br />" . "\t\t\t<input type = \"text\" id = \"razon_social\" placeholder=\"Razon Social\" style = \"width:200px; height:25px;\" value = \"" . $empresa["detalles"]->getRazonSocial() . "\"/><br />" . "\t\t\t<input type = \"text\" id = \"rfc\" placeholder=\"RFC\" style = \"width:200px; height:25px; margin-top:10px;\" value = \"" . $empresa["detalles"]->getRfc() . "\"/><br />" . "\t\t</td>" . "\t</tr>" . "</table>" . "<script>" . "\tvar cambiarLogo = function (evt)" . "\t{" . "\t\tvar file = document.getElementById('file_logo');" . "\t\tvar f = file.files[0];" . "\t\tif (!f.type.match('image.*')) {" . "\t\t\tfile.value = '';" . "\t\t\talert('solo se permiten imagenes');" . "\t\t\treturn;" . "\t\t}" . "\t\tvar max_size = 32768;" . "\t\tif(f.size > max_size){" . "\t\t\talert('HTML form max file size (' + (max_size / 1024) + ' kb) exceeded');" . "\t\t\treturn;" . "\t\t}" . "\t\tvar reader = new FileReader();" . "\t\treader.readAsDataURL(f);" . "\t\treader.onload = cambiarImagenLogo(f);" . "\t};" . "\tvar cambiarImagenLogo = function (archivoImagen)" . "\t{" . "\t\treturn function(e) {" . "\t\t\tvar nodoImagen = document.getElementById('img_logo');" . "\t\t\tnodoImagen.src = e.target.result;" . "\t\t\tnodoImagen.title = escape(archivoImagen.name);" . "\t\t};" . "\t};" . "</script>"; $page->addComponent($html); /* * Tab Informacion */ $page->nextTab("Informacion"); $page->addComponent(new TitleComponent("Dirección", 2)); $direccion_form = new DAOFormComponent(DireccionDAO::getByPK($empresa["detalles"]->direccion->getIdDireccion())); $direccion_form->hideField(array("id_direccion", "ultima_modificacion", "id_usuario_ultima_modificacion")); $direccion_form->createComboBoxJoin("id_ciudad", "nombre", CiudadDAO::getAll(), $empresa["detalles"]->direccion->getIdCiudad()); $direccion_form->renameField(array("id_ciudad" => "ciudad")); $direccion_form->addField("sitio_web", "Sitio Web", "text", $empresa["detalles"]->direccion_web); $page->addComponent($direccion_form); $page->addComponent(new TitleComponent("Cuentas Bancarias", 2)); $tabla_cuentas_bancarias = new TableComponent(array("numero_cuenta" => "Numero de cuenta", "nombre_banco" => "Nombre del banco", "propietario_cuenta" => "Propietario cuenta"), array()); $tabla_cuentas_bancarias->addNoData("No hay ninguna cuenta bancaria registrada. <a href='#'>¿ Desea agregar un elemento?.</a>"); $page->addComponent($tabla_cuentas_bancarias); $page->addComponent(new TitleComponent("Configuracion de formatos", 2)); $configuracion_formatos = new FormComponent(); $configuracion_formatos->addField("pie_pagina", "Pie de Pagina", "text", ""); $configuracion_formatos->addField("formato_papel", "Formato de Papel", "text", ""); $page->addComponent($configuracion_formatos); /*
// "codigo_producto", // "metodo_costeo", // "activo" // )); // $form->createComboBoxJoin("id_unidad", "nombre", UnidadDAO::getAll(), $este_producto->getIdUnidad() ); $page->addComponent($form); /* ******************************************************** * Direccion * * ******************************************************** */ $page->nextTab("Direccion"); $menu = new MenuComponent(); $menu->addItem("Editar Direccion", "personal.editar.direccion.php?uid=" . $este_usuario->getIdUsuario() . "&did=" . $este_usuario->getIdDireccion()); $page->addComponent($menu); $direccion = $este_usuario->getIdDireccion(); $direccionObj = DireccionDAO::getByPK($direccion); if (is_null($direccionObj)) { } else { $ciudad = CiudadDAO::getByPK($direccionObj->getIdCiudad()); if (null === $ciudad) { $ciudad = new Ciudad(); } $page->addComponent(new FreeHtmlComponent("<div id=\"map_canvas\"></div>")); $page->addComponent(new FreeHtmlComponent("<script>startMap(\"" . $direccionObj->getCalle() . " " . $direccionObj->getNumeroExterior() . ", " . $direccionObj->getColonia() . ", " . $ciudad->getNombre() . "\");</Script>")); } if (!is_null($direccionObj)) { $usr_ultima = UsuarioDAO::getByPK($direccionObj->getIdUsuarioUltimaModificacion()); if (!is_null($usr_ultima)) { $direccionObj->setIdUsuarioUltimaModificacion($usr_ultima->getNombre()); } $dform = new DAOFormComponent($direccionObj);
/** * Desactivar Almacen */ public function testDesactivarAlmacen() { POSController::DropBd(); $usuario = UsuarioDAO::getAll(); if (sizeof($usuario) == 0) { Logger::error("WHOOOT no hay usuarios en la BD"); return; } $id_usuario = $usuario[0]->getIdUsuario(); @DireccionDAO::save($direccion = new Direccion(array("calle" => "Una Calle", "numero_exterior" => "322", "id_ciudad" => "12", "codigo_postal" => "38000", "ultima_modificacion" => "2012-02-21 22:10:45", "id_usuario_ultima_modificacion" => "2"))); @EmpresaDAO::save($empresa = new Empresa(array("id_direccion" => $direccion->getIdDireccion(), "rfc" => "RFC_" . time(), "razon_social" => "Empresa_Razon_Social__" . time(), "fecha_alta" => "2012-02-21 22:10:45", "activo" => 1, "direccion_web" => "Dir_" . time()))); @SucursalDAO::save($sucursal = new Sucursal(array("id_direccion" => $direccion->getIdDireccion(), "razon_social" => "Sucursal_Razon_Social__" . time(), "saldo_a_favor" => 2000, "fecha_apertura" => "2012-02-21 22:10:45", "activa" => 1))); $tipo_almacen = AlmacenesController::NuevoTipo("Nuevo_Tipo_Almacen___" . time()); Logger::log("Nuevo almacen"); $almacen = AlmacenesController::Nuevo($id_empresa = $empresa->getIdEmpresa(), $id_sucursal = $sucursal->getIdSucursal(), $id_tipo_almacen = $tipo_almacen["id_tipo_almacen"], $nombre = "Almacen_Editar" . time(), $descripcion = "Almacen de prueba_ " . time()); // Desactivamos el Almacen Logger::log("A desactivar almacen recien creado"); $almacen_desactivado = AlmacenesController::Desactivar($id_almacen = $almacen["id_almacen"]); $_almacen = AlmacenDAO::getByPK($almacen["id_almacen"]); $this->assertEquals(0, $_almacen->getActivo()); }
/** * *Obtener los detalles de un cliente. * * @param id_cliente int Id del cliente del cual se listarn sus datos. * @return cliente json Arreglo que contendr� la informaci�n del cliente. **/ public static function Detalle($id_cliente) { Logger::log("Listando los detalles del cliente"); //valida que el cliente exista, que sea cliente y que este activo /*$validar = self::validarParametrosCliente($id_cliente); if(is_string($validar)) { Logger::error($validar); throw new Exception($validar,901); }*/ //Se regresa un arreglo que contendra en el primer campo el cliente en si, en segundo campo estara //su direccion, el tercero sera su direccion alterna, el cuarto sera la sucursal en la que fue dado de alta, //la quinta sera el rol que tiene, la sexta sera su clasificacion, la septima la moneda que prefiere. $cliente = array(); $c = UsuarioDAO::getByPK($id_cliente); array_push($cliente, $c); array_push($cliente, DireccionDAO::getByPK($c->getIdDireccion())); array_push($cliente, DireccionDAO::getByPK($c->getIdDireccionAlterna())); array_push($cliente, SucursalDAO::getByPK($c->getIdSucursal())); array_push($cliente, RolDAO::getByPK($c->getIdRol())); array_push($cliente, ClasificacionClienteDAO::getByPK($c->getIdClasificacionCliente())); array_push($cliente, MonedaDAO::getByPK($c->getIdMoneda())); array_push($cliente, ExtraParamsValoresDAO::getVals("usuarios", $id_cliente)); return $cliente; }
public static function EditarDireccion($direccion) { //verificamos si se cambiaron las direcciones if (!is_null($direccion)) { Logger::log("\tEditando direccion ..."); if (!is_array($direccion)) { //Logger::error("Verifique el formato de los datos de las direcciones, se esperaba un array "); //throw new Exception("Verifique el formato de los datos de las empresas, se esperaba un array "); $direccion = object_to_array($direccion); } $_direccion = new Direccion($direccion); $d = DireccionDAO::getByPK($_direccion->getIdDireccion()); //verificamos si se va a editar una direccion o se va a crear una nueva if (isset($d->id_direccion)) { //se edita la direccion if (!($_direccion = DireccionDAO::getByPK($d->id_direccion))) { DAO::transRollback(); Logger::error("No se tiene registro de la dirección con id : {$direccion->id_direccion}"); throw new InvalidDataException("No se tiene registro de la dirección con id : {$direccion->id_direccion}"); } //bandera que indica si cambia algun parametro de la direccion $cambio_direccion = false; //calle if (array_key_exists('calle', $direccion)) { $_direccion->setCalle($direccion['calle']); $cambio_direccion = true; } //numero_exterior if (array_key_exists('numero_exterior', $direccion)) { $cambio_direccion = true; $_direccion->setNumeroExterior($direccion['numero_exterior']); } //numero_interior if (array_key_exists('numero_interior', $direccion)) { $cambio_direccion = true; $_direccion->setNumeroInterior($direccion['numero_interior']); } //referencia if (array_key_exists('referencia', $direccion)) { $cambio_direccion = true; $_direccion->setReferencia($direccion['referencia']); } //colonia if (array_key_exists('colonia', $direccion)) { $cambio_direccion = true; $_direccion->setColonia($direccion['colonia']); } //id_ciudad if (array_key_exists('id_ciudad', $direccion)) { $cambio_direccion = true; $_direccion->setIdCiudad($direccion['id_ciudad']); } //codigo_postal if (array_key_exists('codigo_postal', $direccion)) { $cambio_direccion = true; $_direccion->setCodigoPostal($direccion['codigo_postal']); } //telefono if (array_key_exists('telefono', $direccion)) { $cambio_direccion = true; $_direccion->setTelefono($direccion['telefono']); } //telefono2 if (array_key_exists('telefono2', $direccion)) { $cambio_direccion = true; $_direccion->setTelefono2($direccion['telefono2']); } //Si cambio algun parametro de direccion, se actualiza el usuario que modifica y la fecha if ($cambio_direccion) { $_direccion->setUltimaModificacion(time()); $id_usuario = SesionController::Actual(); $id_usuario = $id_usuario["id_usuario"]; if (is_null($id_usuario)) { DAO::transRollback(); Logger::error("No se pudo obtener al usuario de la sesion, ya inicio sesion?"); throw new Exception("No se pudo obtener al usuario de la sesion, ya inicio sesion?"); } $_direccion->setIdUsuarioUltimaModificacion($id_usuario); //guardamos la direccion try { Logger::log("Salvando direccion..."); DireccionDAO::save($_direccion); } catch (Exception $e) { DAO::transRollback(); Logger::error("No se pudo guardar la direccion " . $e); if ($e->getCode() == 901) { throw new Exception("Error al guardar direccion de la sucursal {$sucursal->getRazonSocial()}: " . $e->getMessage(), 901); } throw new Exception("Error al guardar direccion de la sucursal {$sucursal->getRazonSocial()}", 901); } } //cambio dir } //verificacion editar dir } // !is_null }
<?php define("BYPASS_INSTANCE_CHECK", false); require_once "../../../server/bootstrap.php"; $page = new GerenciaComponentPage(); // // Parametros necesarios // $page->requireParam("uid", "GET", "Este usuario no existe."); $este_usuario = UsuarioDAO::getByPK($_GET["uid"]); $esta_direccion = DireccionDAO::getByPK($este_usuario->getIdDireccion()); // // Titulo de la pagina // $page->addComponent(new TitleComponent("Editar usuario " . $este_usuario->getNombre(), 2)); // // Forma de usuario // if (is_null($esta_direccion)) { $esta_direccion = new Direccion(); } $este_usuario->setPassword(""); $form = new DAOFormComponent($este_usuario); $form->hideField(array("id_usuario", "id_direccion", "id_direccion_alterna", "id_sucursal", "fecha_asignacion_rol", "fecha_alta", "fecha_baja", "activo", "last_login", "consignatario", "id_clasificacion_cliente", "id_clasificacion_proveedor", "tarifa_venta_obtenida", "tarifa_compra_obtenida", "id_tarifa_compra", "id_tarifa_venta", "saldo_del_ejercicio", "intereses_moratorios", "representante_legal", "pagina_web", "mensajeria", "denominacion_comercial", "dias_de_credito", "facturar_a_terceros", "limite_credito", "token_recuperacion_pass", "tiempo_entrega", "ventas_a_credito", "descuento", "dias_de_embarque", "cuenta_de_mensajeria")); $form->setCaption("rfc", "RFC"); $form->setCaption("id_moneda", "Moneda default"); $form->setCaption("id_rol", "Rol"); $form->setHelp("id_rol", "Rol"); $form->sendHidden("id_usuario"); $form->addApiCall("api/personal/usuario/editar/"); $form->onApiCallSuccessRedirect("personal.usuario.ver.php?uid=" . $_GET["uid"]);
//esta definida pero el registro no existe por alguna razon Logger::error("user " . $_GET["cid"] . " se supone que tiene id direccion = " . $this_client->getIdDireccion() . " , pero esta en null ..."); DAO::transBegin(); $this_client->setIdDireccion(NULL); try { UsuarioDAO::save($this_client); DireccionController::NuevaDireccionParaUsuario($this_client->getIdUsuario()); //recargar el objeto de cliente $this_client = UsuarioDAO::getByPK($_GET["cid"]); } catch (Exception $e) { DAO::transRollback(); throw new Exception("No se pudo crear la direccion: " . $e); } DAO::transEnd(); } $esta_dir = DireccionDAO::getByPK($this_client->getIdDireccion()); //titulos $page->addComponent(new TitleComponent("Editar direccion: " . $esta_dir->getColonia())); //forma de nuevo cliente $form = new DAOFormComponent($esta_dir); $form->hideField(array("id_direccion", "id_usuario_ultima_modificacion", "ultima_modificacion")); $form->sendHidden("id_direccion"); $form->createComboBoxJoin("id_ciudad", "nombre", CiudadDAO::getAll(), $esta_dir->getIdCiudad()); $form->setCaption("id_ciudad", "Ciudad"); $form->addApiCall("api/cliente/editar/"); $form->beforeSend("editar_direccion"); $page->partialRender(); ?> <script>