function __construct($vo) { if (is_null($vo)) { throw new InvalidDataException(); } parent::__construct(); $this->api_method_to_call = NULL; if (is_array($vo)) { for ($a = 0; $a < sizeof($vo); $a++) { $fields = json_decode($vo[$a]->__toString()); foreach ($fields as $k => $v) { $caption = ucwords(str_replace("_", " ", $k)); parent::addField($k, $caption, "text", $v, $k); } } } else { $fields = json_decode($vo->__toString()); foreach ($fields as $k => $v) { $caption = ucwords(str_replace("_", " ", $k)); parent::addField($k, $caption, "text", $v, $k); } } }
} function unidadname($l) { $ll = UnidadMedidaDAO::GetByPK($l); if (is_null($ll)) { return "ERROR"; } return $ll->getAbreviacion(); } $page->addComponent($table_e); $table_e->addColRender("id_lote", "lotename"); $table_e->addColRender("id_unidad", "unidadname"); $page->addComponent("<hr>"); $page->addComponent(new TitleComponent("Nueva entrada", 2)); $entrada_lote = new FormComponent(); $entrada_lote->addField("id_lote", "Lote", "combobox"); //$entrada_lote->createComboBoxJoin("id_lote", "id_lote", LoteDAO::getAll( ) ); $entrada_lote->createComboBoxJoinDistintName("id_lote", "id_lote", "folio", LoteDAO::getAll()); $entrada_lote->setHelp("id_lote", "Lote a donde se insertara este arrivo"); $entrada_lote->addField("cantidad", "Cantidad", "text"); $este_producto = ProductoDAO::GetByPK($_GET["pid"]); $um = UnidadMedidaDAO::getByPK($este_producto->getIdUnidad()); if (!is_null($um)) { $entrada_lote->setHelp("cantidad", "Cantidad en " . $um->getDescripcion()); } else { $entrada_lote->setHelp("cantidad", "Error!"); } $entrada_lote->addField("productos", "", "text", "\" [ { \\\"id_producto\\\" : " . $_GET["pid"] . ", \\\"cantidad\\\" : 0 } ] \""); $entrada_lote->sendHidden("productos"); $entrada_lote->makeObligatory(array("id_lote", "cantidad")); $entrada_lote->beforeSend("beforeSendNuevaEntrada");
$f->addField($values[$i]["campo"], $values[$i]["caption"], $values[$i]["tipo"], $enum_array); } else { $f->addField($values[$i]["campo"], $values[$i]["caption"], $values[$i]["tipo"], $values[$i]["val"]); } } $f->setEditable(false); $f->setStyle("big"); $page->addComponent($f); /** * * **/ $page->nextTab("Editar"); $f = new FormComponent(); for ($i = 0; $i < sizeof($values); $i++) { $f->addField($values[$i]["campo"], $values[$i]["caption"], $values[$i]["tipo"], utf8_decode($values[$i]["val"])); } $f->setEditable(true); $f->setStyle("big"); $f->addApiCall("api/documento/editar", "POST"); $f->beforeSend("attachExtraParams"); $html = " <script>\n\t\t\tfunction attachExtraParams( a ) {\n\t\t\t\ta.id_documento = " . $documento->getIdDocumento() . ";\n\t\t\t\ta.extra_params = Ext.JSON.encode({ "; for ($i = 0; $i < sizeof($values); $i++) { $html .= $values[$i]["campo"] . " : Ext.get(\"" . $f->getGuiComponentId() . $values[$i]["campo"] . "\" ).getValue() , "; } $html .= "});\n\t\t\t\treturn a;\n\t\t\t}\n\t\t</script>"; $page->addComponent($html); $page->addComponent($f); /** * *
$configuracion_ejercicio_form = new FormComponent(); $configuracion_ejercicio_form->addField("ejercicio", "Año del Ejercicio", "text", date("Y"), "ejercicio"); $page->addComponent($configuracion_ejercicio_form); $page->addComponent(new TitleComponent("Periodo", 3)); $configuracion_periodo_form = new FormComponent(); $configuracion_periodo_form->addField("duracion_periodo", "Duracion de periodos (meses)", "number", "1", "duracion_periodo"); $configuracion_periodo_form->addField("periodo_actual", "Periodo Actual", "number", "1", "periodo_actual"); $page->addComponent($configuracion_periodo_form); $page->addComponent(new TitleComponent("Impuestos", 2)); $impuestos_compra_form = new FormComponent(); $valores = array(); foreach (ImpuestoDAO::getAll() as $impuesto) { array_push($valores, array("id" => $impuesto->getIdImpuesto(), "caption" => $impuesto->getNombre())); } $impuestos_compra_form->addField('impuestos_compra', 'Impuestos Compra', 'listbox', $valores, 'impuestos_compra'); $impuestos_compra_form->addField('impuestos_venta', 'Impuestos Venta', 'listbox', $valores, 'impuestos_venta'); $page->addComponent($impuestos_compra_form); /* * Tab Pagos */ $page->nextTab("Pagos fuera de plazo"); $msj = "Estimado/a señor/señora,\n\nNuestros registros indican que algunos pagos en nuestra cuenta están aún pendientes. Puede encontrar los detalles a continuación.\n\n%s\n\nSi la cantidad ha sido ya pagada, por favor, descarte esta notificación. En otro caso, por favor remítanos el importe total abajo indicado.\n\n%s\n\nSi tiene alguna pregunta con respecto a su cuenta, por favor contáctenos.\n\nGracias de antemano por su colaboración.\nSaludos cordiales,"; $mensaje_form = new FormComponent(); $mensaje_form->addField("mensaje", "Mensaje pagos vencidos", "textarea", $msj, "mensaje"); $page->addComponent($mensaje_form); /* * Logica de envio de informacion */ $html = "<script>" . "\tvar impuestosSeleccionados = function(id_select){" . "\t\tvar select = Ext.get(id_select);" . "\t\tvar impuestos = [];" . "\t\tfor(var i = 0; i < select.dom.options.length; i++){" . "\t\t\tif(select.dom.options[i].selected === true){" . "\t\t\t\timpuestos[impuestos.length] = select.dom.options[i].value" . "\t\t\t}" . "\t\t}" . "\t\treturn impuestos;" . "\t};" . "" . "\tvar crearEmpresa = function(){" . "\t\tPOS.API.POST(" . "\t\t\t\"api/empresa/nuevo\"," . "\t\t\t{" . "\t\t\t\t\"razon_social\": Ext.get(\"razon_social\").getValue()," . "\t\t\t\t\"rfc\": Ext.get(\"rfc\").getValue()," . "\t\t\t\t\"representante_legal\": \"\"," . "\t\t\t\t\"direccion_web\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "sitio_web\").getValue()," . "\t\t\t\t\"direccion\": Ext.JSON.encode({" . "\t\t\t\t\t\"calle\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "calle\").getValue()," . "\t\t\t\t\t\"numero_exterior\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "numero_exterior\").getValue()," . "\t\t\t\t\t\"numero_interior\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "numero_interior\").getValue()," . "\t\t\t\t\t\"colonia\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "colonia\").getValue()," . "\t\t\t\t\t\"codigo_postal\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "codigo_postal\").getValue()," . "\t\t\t\t\t\"telefono1\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "telefono\").getValue()," . "\t\t\t\t\t\"telefono2\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "telefono2\").getValue()," . "\t\t\t\t\t\"id_ciudad\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "ciudad\").getValue()," . "\t\t\t\t\t\"referencia\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "referencia\").getValue()" . "\t\t\t\t})," . "\t\t\t\t\"uri_logo\": encodeURIComponent(Ext.get(\"img_logo\").dom.src)," . "\t\t\t\t\"impuestos_compra\": Ext.JSON.encode(impuestosSeleccionados(\"" . $impuestos_compra_form->getGuiComponentId() . "impuestos_compra" . "\"))," . "\t\t\t\t\"impuestos_venta\": Ext.JSON.encode(impuestosSeleccionados(\"" . $impuestos_compra_form->getGuiComponentId() . "impuestos_venta" . "\"))," . "\t\t\t\t\"cuentas_bancarias\":Ext.JSON.encode([])," . "\t\t\t\t\"mensaje_morosos\": Ext.get(\"" . $mensaje_form->getGuiComponentId() . "mensaje\").getValue()," . "\t\t\t\t\"contabilidad\": Ext.JSON.encode({" . "\t\t\t\t\t\"id_moneda\": Ext.get(\"" . $configuracion_moneda_form->getGuiComponentId() . "id_moneda\").getValue()," . "\t\t\t\t\t\"ejercicio\": Ext.get(\"" . $configuracion_ejercicio_form->getGuiComponentId() . "ejercicio\").getValue()," . "\t\t\t\t\t\"periodo_actual\": Ext.get(\"" . $configuracion_periodo_form->getGuiComponentId() . "periodo_actual\").getValue()," . "\t\t\t\t\t\"duracion_periodo\": Ext.get(\"" . $configuracion_periodo_form->getGuiComponentId() . "duracion_periodo\").getValue()" . "\t\t\t\t})" . "\t\t\t}," . "\t\t\t{" . "\t\t\t\tcallback:function(a){" . "\t\t\t\t\tif(a.status === \"ok\"){" . "\t\t\t\t\t\tExt.Msg.alert(\"Nueva Empresa\",\"Empresa creada correctamente\", function(){location.href=\"empresas.lista.php\"});" . "\t\t\t\t\t}else{" . "\t\t\t\t\t\tExt.Msg.alert(\"Nueva Empresa\",\"a.error\");" . "\t\t\t\t\t}" . "\t\t\t\t}" . "\t\t\t}" . "\t\t);" . "\t}" . "</script>"; $page->addComponent($html); $page->render();
} /*** * * Page Rendering * * * */ $p = new JediComponentPage(); /** * * Nueva instancia * **/ $p->addComponent(new TitleComponent("Nueva instancia")); $p->addComponent(new FreeHtmlComponent('<input type="text" style="font-size: 17px;" placeholder="Token" id="_new_instance_toke"> ')); $p->addComponent(new FreeHtmlComponent('<input type="text" style="font-size: 17px;" placeholder="Descripcion" id="_new_instance_desc"> ')); //$p->addComponent( new FreeHtmlComponent( '<div class="POS Boton OK" onclick="window.location=\'instancias.nueva.php?do=nueva&d=\'+HtmlEncode(Ext.get(\'_new_instance_desc\').getValue());">Nueva Instancia</div>') ); $p->addComponent(new FreeHtmlComponent('<div class="POS Boton OK" onclick="window.location=\'instancias.nueva.php?do=nueva&d=\'+ HtmlEncode(Ext.get(\'_new_instance_desc\').getValue()) + \'&t=\'+HtmlEncode(Ext.get(\'_new_instance_toke\').getValue());">Nueva Instancia</div>')); $p->addComponent(new FreeHtmlComponent("<hr>")); $p->addComponent(new TitleComponent("Utilizando una base de datos externa", 2)); $form = new FormComponent(); $form->addField("descripcion", "Descripcion", "text"); $form->addField("instance_token", "instance_token", "text"); $form->addField("db_user", "db_user", "text"); $form->addField("db_password", "db_password", "text"); $form->addField("db_name", "db_name", "text"); $form->addField("db_driver", "db_driver", "text"); $form->addField("db_host", "db_host", "text"); $form->addField("db_debug", "db_debug", "text"); $p->addComponent($form); $p->render();
$configuracion_periodo_form->addField("periodo_actual", "Periodo Actual", "text", $empresa["contabilidad"]["ejercicio"]["periodo"], "periodo_actual"); $configuracion_periodo_form->addField("periodo_inicio", "Inicio", "text", FormatTime($empresa["contabilidad"]["ejercicio"]["periodo_inicio"]), "periodo_inicio"); $configuracion_periodo_form->addField("periodo_fin", "Fin", "text", FormatTime($empresa["contabilidad"]["ejercicio"]["periodo_fin"]), "periodo_fin"); $configuracion_periodo_form->setEditable(false); $page->addComponent($configuracion_periodo_form); $page->addComponent(new TitleComponent("Impuestos", 2)); $impuestos_compra_form = new FormComponent(); $impuestos_compra = array(); foreach ($empresa["impuestos_compra"] as $impuesto) { array_push($impuestos_compra, array("id" => $impuesto->getIdImpuesto(), "caption" => $impuesto->getNombre())); } $impuestos_venta = array(); foreach ($empresa["impuestos_venta"] as $impuesto) { array_push($impuestos_venta, array("id" => $impuesto->getIdImpuesto(), "caption" => $impuesto->getNombre())); } $impuestos_compra_form->addField('impuestos_compra', 'Impuestos Compra', 'listbox', $impuestos_compra, 'impuestos_compra'); $impuestos_compra_form->addField('impuestos_venta', 'Impuestos Venta', 'listbox', $impuestos_venta, 'impuestos_venta'); $page->addComponent($impuestos_compra_form); /* * Tab Pagos */ $page->nextTab("Pagos fuera de plazo"); $mensaje_form = new FormComponent(); $mensaje_form->addField("mensaje", "Mensaje pagos vencidos", "textarea", $empresa["detalles"]->getMensajeMorosos(), "mensaje"); $page->addComponent($mensaje_form); /* * Logica de envio de informacion */ $html = "<script>" . "\tvar impuestosSeleccionados = function(id_select){" . "\t\tvar select = Ext.get(id_select);" . "\t\tvar impuestos = [];" . "\t\tfor(var i = 0; i < select.dom.options.length; i++){" . "\t\t\tif(select.dom.options[i].selected === true){" . "\t\t\t\timpuestos[impuestos.length] = select.dom.options[i].value" . "\t\t\t}" . "\t\t}" . "\t\treturn impuestos;" . "\t};" . "" . "\tvar editarEmpresa = function(){" . "\t\tPOS.API.POST(" . "\t\t\t\"api/empresa/editar\"," . "\t\t\t{" . "\t\t\t\t\"id_empresa\" : \"" . $_GET["eid"] . "\"," . "\t\t\t\t\"razon_social\": Ext.get(\"razon_social\").getValue()," . "\t\t\t\t\"rfc\": Ext.get(\"rfc\").getValue()," . "\t\t\t\t\"representante_legal\": \"\"," . "\t\t\t\t\"direccion_web\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "sitio_web\").getValue()," . "\t\t\t\t\"direccion\": Ext.JSON.encode({" . "\t\t\t\t\t\"calle\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "calle\").getValue()," . "\t\t\t\t\t\"numero_exterior\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "numero_exterior\").getValue()," . "\t\t\t\t\t\"numero_interior\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "numero_interior\").getValue()," . "\t\t\t\t\t\"colonia\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "colonia\").getValue()," . "\t\t\t\t\t\"codigo_postal\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "codigo_postal\").getValue()," . "\t\t\t\t\t\"telefono1\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "telefono\").getValue()," . "\t\t\t\t\t\"telefono2\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "telefono2\").getValue()," . "\t\t\t\t\t\"id_ciudad\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "ciudad\").getValue()," . "\t\t\t\t\t\"referencia\": Ext.get(\"" . $direccion_form->getGuiComponentId() . "referencia\").getValue()" . "\t\t\t\t})," . "\t\t\t\t\"uri_logo\": encodeURIComponent(Ext.get(\"img_logo\").dom.src)," . "\t\t\t\t\"impuestos_compra\": Ext.JSON.encode(impuestosSeleccionados(\"" . $impuestos_compra_form->getGuiComponentId() . "impuestos_compra" . "\"))," . "\t\t\t\t\"impuestos_venta\": Ext.JSON.encode(impuestosSeleccionados(\"" . $impuestos_compra_form->getGuiComponentId() . "impuestos_venta" . "\"))," . "\t\t\t\t\"cuentas_bancarias\":Ext.JSON.encode([])," . "\t\t\t\t\"mensaje_morosos\": Ext.get(\"" . $mensaje_form->getGuiComponentId() . "mensaje\").getValue()," . "\t\t\t}," . "\t\t\t{" . "\t\t\t\tcallback:function(a){" . "\t\t\t\t\tif(a.status === \"ok\"){" . "\t\t\t\t\t\tExt.Msg.alert(\"Modificar Empresa\",\"Empresa modificada correctamente\", function(){location.href=\"empresas.ver.php?eid=" . $_GET["eid"] . "\"});" . "\t\t\t\t\t}else{" . "\t\t\t\t\t\tExt.Msg.alert(\"Modificar Empresa\",\"a.error\");" . "\t\t\t\t\t}" . "\t\t\t\t}" . "\t\t\t}" . "\t\t);" . "\t}" . "</script>"; $page->addComponent($html); $page->render();
$form->createComboBoxJoin("id_sucursal", "razon_social", SucursalDAO::search(new Sucursal(array("activa" => 1))), $este_cliente->getIdSucursal()); $form->createComboBoxJoinDistintName("id_tarifa_venta", "id_tarifa", "nombre", TarifaDAO::search(new Tarifa(array("tipo_tarifa" => "venta")))); $form->createComboBoxJoin("id_tarifa_compra", "nombre", TarifaDAO::search(new Tarifa(array("tipo_tarifa" => "compra")))); $form->createComboBoxJoin("tarifa_compra_obtenida", "tarifa_compra_obtenida", array("rol", "proveedor", "cliente", "usuario")); $form->createComboBoxJoin("tarifa_venta_obtenida", "tarifa_venta_obtenida", array("rol", "proveedor", "cliente", "usuario")); $form->addApiCall("api/cliente/editar/", "POST"); $form->onApiCallSuccessRedirect("clientes.ver.php?cid=" . $_GET["cid"]); $form->renameField(array("nombre" => "razon_social", "codigo_usuario" => "codigo_cliente", "correo_electronico" => "email", "id_categoria_contacto" => "clasificacion_cliente", "id_moneda" => "moneda_del_cliente", "pagina_web" => "sitio_web", "id_sucursal" => "sucursal")); $page->addComponent($form); $page->nextTab("Otros"); //buscar los parametros extra $out = ExtraParamsValoresDAO::getVals("usuarios", $este_cliente->getIdUsuario()); $epform = new FormComponent(); $epform->setEditable(true); foreach ($out as $ep) { $epform->addField($ep["campo"], $ep["caption"], $ep["tipo"], $ep["val"]); if (!is_null($ep["descripcion"])) { $epform->setHelp($ep["campo"], $ep["descripcion"]); } } $epform->beforeSend("editar_extra_p"); $page->addComponent(' <script> var cliente = ' . $_GET["cid"] . '; function editar_extra_p(obj){ return { id_cliente : cliente, extra_params : Ext.JSON.encode(obj) } } </script>
} } $page->addComponent(new TitleComponent("Nuevo " . $DocumentoBase->getNombre(), 1)); //Buscar sus parametros extra $ExtraParamsStructs = ExtraParamsEstructuraDAO::search(new ExtraParamsEstructura(array("tabla" => "documento_base-" . $DocumentoBase->getIdDocumentoBase()))); $f = new FormComponent(); $f->addApiCall("api/documento/nuevo"); for ($i = 0; $i < sizeof($ExtraParamsStructs); $i++) { // function addField($id, $caption, $type, $value = "", $name = null) { if ($ExtraParamsStructs[$i]->tipo == "enum") { $enum_string = explode(",", $ExtraParamsStructs[$i]->enum); $enum_array = array(); for ($k = 0; $k < count($enum_string); $k++) { array_push($enum_array, array("caption" => $enum_string[$k], "id" => $enum_string[$k], "selected" => 0)); } $f->addField($ExtraParamsStructs[$i]->campo, $ExtraParamsStructs[$i]->caption, $ExtraParamsStructs[$i]->tipo, $enum_array); } else { $f->addField($ExtraParamsStructs[$i]->campo, $ExtraParamsStructs[$i]->caption, $ExtraParamsStructs[$i]->tipo); } } $f->beforeSend("attachExtraParams"); $f->setStyle("big"); $page->addComponent($f); $page->partialRender(); ?> <script> function attachExtraParams( a ) { //var GuiComponentId = <?php echo $f->getGuiComponentId(); ?> getParams();
$html .= "\t\t }"; $html .= "\t\t });"; $html .= "\t\t }"; $html .= " }"; $html .= " },{"; $html .= " text: 'Cancelar',"; $html .= "\t\thandler: function() {"; $html .= " this.up('form').getForm().reset();"; $html .= "\t\t}"; $html .= " }]"; $html .= " });"; $html .= " });"; $html .= "</script>"; // Configuracion de productos en VC $form = new FormComponent(); $form->addField('mostrar', 'Mostrar productos', 'bool', 'mostrar'); $campos = array_keys(get_class_vars('Producto')); foreach ($campos as $key => $campo) { if ($campo == "visible_en_vc") { unset($campos[$key]); } else { $caption = ucwords(str_replace("_", " ", $campo)); $campos[$key] = array("id" => $campo, "caption" => $caption); } } $form->addField('propiedades', 'Propiedades *', 'listbox', $campos, 'propiedades'); $form->beforeSend('attachPropiedades'); $form->addApiCall('api/pos/configuracion/vistas/clientes'); $html .= <<<EOD <script type='text/javascript' charset='utf-8'> function attachPropiedades(o) {