From: Leandro Lucarella Date: Thu, 2 Oct 2003 22:51:24 +0000 (+0000) Subject: Se agrega un campo para indicar si el sistema está hecho en EmbPerl. X-Git-Tag: svn_import~16 X-Git-Url: https://git.llucax.com/mecon/ai.git/commitdiff_plain/429b500520d01da865ae07369feec31f37fbda24 Se agrega un campo para indicar si el sistema está hecho en EmbPerl. --- diff --git a/doc/uml.xmi b/doc/uml.xmi index d6351ef..24229b7 100644 --- a/doc/uml.xmi +++ b/doc/uml.xmi @@ -10,7 +10,7 @@ - + @@ -57,6 +57,7 @@ + @@ -141,10 +142,10 @@ x2c:get" name="hijos" static="0" scope="202" /> - + - + @@ -251,7 +252,7 @@ x2c:get" name="hijos" static="0" scope="202" /> - + @@ -259,6 +260,7 @@ x2c:get" name="hijos" static="0" scope="202" /> + diff --git a/lib/AI/Sistema.php b/lib/AI/Sistema.php index 19eac36..2f65ea8 100644 --- a/lib/AI/Sistema.php +++ b/lib/AI/Sistema.php @@ -102,6 +102,12 @@ class AI_Sistema extends AI_DBObject { */ var $habilitado = true; + /** + * @var string $tipo + * @access public + */ + var $tipo = 'php'; + // ~X2C // +X2C Operation 466 @@ -133,7 +139,6 @@ class AI_Sistema extends AI_DBObject { $db = $result->dbh; // Si no es un resultado, hago el query. } else { - // FIXME - ver como manejar JOINs - Ver de hacer el JOIN tambien en cargar. $result = $db->query( "SELECT AI.*, SA.nombre_sistema as nombre, SA.desc_sistema as descripcion FROM {$this->conf['base']}.{$this->conf['tabla']} as AI, samurai.sistema as SA @@ -172,6 +177,7 @@ class AI_Sistema extends AI_DBObject { 'link' => $this->link, 'link_ayuda' => $this->link_ayuda, 'habilitado' => $this->habilitado ? 1 : 0, + 'tipo' => $this->tipo, ); $err = parent::guardar($db, $datos, $nuevo); if (PEAR::isError($err)) { @@ -198,7 +204,6 @@ class AI_Sistema extends AI_DBObject { $conf = parse_ini_file(AI_SISTEMA_CONFFILE, true); } extract($conf); - // FIXME - ver como manejar JOINs - Ver de hacer el JOIN tambien en cargar. $query = " SELECT SA.id_sistema, SA.nombre_sistema FROM samurai.sistema as SA @@ -231,7 +236,6 @@ class AI_Sistema extends AI_DBObject { } $id_field = $conf['id']; $tabla = $conf['base'].'.'.$conf['tabla']; - // FIXME - ver como manejar JOINs - Ver de hacer el JOIN tambien en cargar. $query = " SELECT AI.*, SA.nombre_sistema as nombre, SA.desc_sistema as descripcion FROM $tabla as AI, samurai.sistema as SA diff --git a/sistema/local_lib/AI/Arbol.php b/sistema/local_lib/AI/Arbol.php index 02f55f3..a9691ab 100644 --- a/sistema/local_lib/AI/Arbol.php +++ b/sistema/local_lib/AI/Arbol.php @@ -82,7 +82,7 @@ class AI_Arbol extends MECON_HTML_ArbolDB { ); if ($tipo == 'grupo' or $tipo == 'servicio') { $dbdata['id_padre'] = $tipo . '_padre'; - } elseif ($tipo == 'sistema') { // FIXME - horrible!!! + } elseif ($tipo == 'sistema') { // FIXME - es bastante poco ortodoxo esto. $dbdata = array( 'tabla' => "intranet.$tabla as A, samurai.sistema as S", diff --git a/sistema/local_lib/AI/Form.php b/sistema/local_lib/AI/Form.php index ea7c5c8..6faef90 100644 --- a/sistema/local_lib/AI/Form.php +++ b/sistema/local_lib/AI/Form.php @@ -82,7 +82,8 @@ class AI_Form extends MECON_HTML_QuickForm { // Construyo con el padre y seteos generales. $this->renderer->updateAttributes(array('width' => '400')); $this->addElement('header','cabecera', $s_accion . ' ' . $s_tipo); - // Elementos. + // Elementos: + // ID. if ($tipo == 'sistema') { require_once 'SAMURAI/Sistema.php'; $sistemas = array('' => '--'); @@ -105,6 +106,7 @@ class AI_Form extends MECON_HTML_QuickForm { } $fId->freeze(); } + // Padre / Nombre. if ($tipo == 'grupo' or $tipo == 'servicio') { require_once 'AI/Arbol.php'; $arbol = new AI_Arbol($obj, $db, true); @@ -127,6 +129,7 @@ class AI_Form extends MECON_HTML_QuickForm { $fNombre->setValue($obj->nombre); } } + // Antigüedad / Secciones / Mostrar Hijos. if ($tipo == 'grupo') { $fAntiguedad =& $this->addElement('select', 'antiguedad', 'Antigüedad', array(3 => '3 días', 1 => '1 día', 7 => '1 semana')); @@ -144,6 +147,7 @@ class AI_Form extends MECON_HTML_QuickForm { $fMostrarHijos->setChecked($obj->mostrar_hijos); } } + // Descripción / Necesita Logueo. if ($tipo == 'servicio') { $fDescripcion =& $this->addElement('text', 'descripcion', 'Descripción'); $fLogueo =& $this->addElement('checkbox','logueo', 'Necesita login'); @@ -155,6 +159,7 @@ class AI_Form extends MECON_HTML_QuickForm { $fLogueo->setChecked($obj->necesita_logueo); } } + // Link / Link Ayuda. if ($tipo == 'servicio' or $tipo == 'sistema') { $fLink =& $this->addElement('text', 'link', 'Enlace'); $fLinkAyuda =& $this->addElement('text', 'link_ayuda', 'Enlace de la ayuda'); @@ -173,10 +178,18 @@ class AI_Form extends MECON_HTML_QuickForm { $this->addRule('icono', 'Debe ingresar un ícono.', 'required'); } } + // Tipo de sistema. + if ($tipo == 'sistema') { + $fTipo =& $this->addElement('checkbox', 'tipo', 'Programado en EmbPerl'); + // Carga datos. + if ($accion & (AI_BAJA | AI_MODIF)) { + $fTipo->setChecked($obj->tipo == 'embperl'); + } + } + // Habilitado. $fHabilitado =& $this->addElement('checkbox','habilitado', 'Está habilitado', '', array('checked' => 'checked')); - // Carga datos. - if ($accion & (AI_BAJA | AI_MODIF)) { + if ($accion & (AI_BAJA | AI_MODIF)) { // Carga datos. $fHabilitado->setChecked($obj->habilitado); } // Botones. @@ -228,6 +241,9 @@ class AI_Form extends MECON_HTML_QuickForm { $obj->descripcion = $this->getSubmitValue('descripcion'); $obj->necesita_logueo = $this->getSubmitValue('logueo'); } + if ($tipo == 'sistema') { + $obj->tipo = $this->getSubmitValue('tipo') ? 'embperl' : 'php'; + } if ($tipo == 'servicio' or $tipo == 'sistema') { $obj->link = $this->getSubmitValue('link'); $obj->link_ayuda = $this->getSubmitValue('link_ayuda'); diff --git a/sql/sistema.sql b/sql/sistema.sql index d2cc0a5..81ffc41 100644 --- a/sql/sistema.sql +++ b/sql/sistema.sql @@ -33,5 +33,6 @@ CREATE TABLE sistema ( link VARCHAR(255) NOT NULL default '', link_ayuda VARCHAR(255) NOT NULL default '', habilitado TINYINT(1) NOT NULL default 1, + tipo ENUM('php', 'embperl') NOT NULL default 'php', PRIMARY KEY (sistema) );