formularios necesarios para AI.
- Se cambian las propiedades de los objetos del modelo para que sean igual
que en la DB.
- Casi se termina el formulario de servicios.
<XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
</XMI.header>
<XMI.content>
- <docsettings viewid="412" documentation="" uniqueid="506" />
+ <docsettings viewid="412" documentation="" uniqueid="509" />
<umlobjects>
- <UML:Class stereotype="" package="" xmi.id="413" abstract="0" documentation="" name="Servicio" static="0" scope="200" >
+ <UML:Class stereotype="" package="" xmi.id="413" abstract="0" documentation="Servicio." name="Servicio" static="0" scope="200" >
<UML:Operation stereotype="" package="" xmi.id="465" type="void" abstract="0" documentation="" name="Servicio" static="0" scope="200" >
<UML:Parameter stereotype="" package="" xmi.id="1" value="0" type="int" abstract="0" documentation="ID del servicio." name="servicio" static="0" scope="200" />
</UML:Operation>
</UML:Operation>
<UML:Operation stereotype="" package="" xmi.id="501" type="Servicio" abstract="0" documentation="" name="__clone" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="428" value="0" type="int" abstract="0" documentation="ID del servicio." name="servicio" static="0" scope="200" />
- <UML:Attribute stereotype="" package="" xmi.id="452" value="0" type="int" abstract="0" documentation="" name="padre" static="0" scope="200" />
+ <UML:Attribute stereotype="" package="" xmi.id="452" value="0" type="int" abstract="0" documentation="" name="servicio_padre" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="467" value="array()" type="array" abstract="0" documentation="Servicios hijos.
x2c:get" name="hijos" static="0" scope="202" />
<UML:Attribute stereotype="" package="" xmi.id="429" value="''" type="string" abstract="0" documentation="Nombre del servicio." name="nombre" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="433" value="''" type="string" abstract="0" documentation="Descripción del servicio." name="descripcion" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="430" value="null" type="HTML_Imagen" abstract="0" documentation="Ícono del servicio." name="icono" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="431" value="''" type="string" abstract="0" documentation="Enlace a donde el este servicio." name="link" static="0" scope="200" />
- <UML:Attribute stereotype="" package="" xmi.id="432" value="''" type="string" abstract="0" documentation="Enlace a donde se encuentra la ayuda del servicio." name="linkAyuda" static="0" scope="200" />
- <UML:Attribute stereotype="" package="" xmi.id="434" value="false" type="bool" abstract="0" documentation="True si es necesario que el usuario se loguee para usar el servicio." name="necesitaLogueo" static="0" scope="200" />
+ <UML:Attribute stereotype="" package="" xmi.id="432" value="''" type="string" abstract="0" documentation="Enlace a donde se encuentra la ayuda del servicio." name="link_ayuda" static="0" scope="200" />
+ <UML:Attribute stereotype="" package="" xmi.id="434" value="false" type="bool" abstract="0" documentation="True si es necesario que el usuario se loguee para usar el servicio." name="necesita_logueo" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="444" value="true" type="bool" abstract="0" documentation="Indica si esta habilitado." name="habilitado" static="0" scope="200" />
</UML:Class>
- <UML:Class stereotype="" package="" xmi.id="416" abstract="0" documentation="" name="Sistema" static="0" scope="200" >
+ <UML:Class stereotype="" package="" xmi.id="416" abstract="0" documentation="Sistema." name="Sistema" static="0" scope="200" >
<UML:Operation stereotype="" package="" xmi.id="466" type="void" abstract="0" documentation="" name="Sistema" static="0" scope="200" >
<UML:Parameter stereotype="" package="" xmi.id="1" value="0" type="int" abstract="0" documentation="ID del sistema." name="sistema" static="0" scope="200" />
</UML:Operation>
<UML:Attribute stereotype="" package="" xmi.id="437" value="0" type="int" abstract="0" documentation="ID del sistema (ID en SAMURAI)." name="sistema" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="438" value="null" type="HTML_Imagen" abstract="0" documentation="Ícono del sistema." name="icono" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="439" value="''" type="string" abstract="0" documentation="Enlace a donde se encuentra el sistema." name="link" static="0" scope="200" />
- <UML:Attribute stereotype="" package="" xmi.id="440" value="''" type="string" abstract="0" documentation="Enlace a la ayuda del sistema." name="linkAyuda" static="0" scope="200" />
+ <UML:Attribute stereotype="" package="" xmi.id="440" value="''" type="string" abstract="0" documentation="Enlace a la ayuda del sistema." name="link_ayuda" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="445" value="true" type="bool" abstract="0" documentation="Indica si esta habilitado." name="habilitado" static="0" scope="200" />
</UML:Class>
<UML:Class stereotype="" package="" xmi.id="469" abstract="0" documentation="" name="AIError" static="0" scope="200" >
<UML:Operation stereotype="" package="" xmi.id="500" type="GrupoSecciones" abstract="0" documentation="" name="__clone" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="487" value="0" type="int" abstract="0" documentation="ID del grupo de secciones." name="grupo" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="488" value="''" type="string" abstract="0" documentation="Nombre." name="nombre" static="0" scope="200" />
- <UML:Attribute stereotype="" package="" xmi.id="489" value="0" type="int" abstract="0" documentation="" name="padre" static="0" scope="200" />
+ <UML:Attribute stereotype="" package="" xmi.id="489" value="0" type="int" abstract="0" documentation="" name="grupo_padre" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="490" value="array()" type="array" abstract="0" documentation="Grupos de secciones que tiene este grupo.
x2c:get" name="hijos" static="0" scope="202" />
<UML:Attribute stereotype="" package="" xmi.id="491" value="array()" type="array" abstract="0" documentation="Secciones que pertenecen a este grupo." name="secciones" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="492" value="0" type="int" abstract="0" documentation="Antigüedad (en días) de las noticias a mostrar." name="antiguedad" static="0" scope="200" />
- <UML:Attribute stereotype="" package="" xmi.id="493" value="false" type="bool" abstract="0" documentation="True si hay que mostrar los grupos hijos (?? FIXME)." name="mostrarHijos" static="0" scope="200" />
+ <UML:Attribute stereotype="" package="" xmi.id="493" value="false" type="bool" abstract="0" documentation="True si hay que mostrar los grupos hijos (?? FIXME)." name="mostrar_hijos" static="0" scope="200" />
<UML:Attribute stereotype="" package="" xmi.id="494" value="true" type="bool" abstract="0" documentation="Indica si esta habilitado." name="habilitado" static="0" scope="200" />
</UML:Class>
<UML:Class stereotype="" package="" xmi.id="503" abstract="0" documentation="Base de datos del Administrador de Intranet." name="AIDB" static="0" scope="200" >
<UML:Operation stereotype="" package="" xmi.id="506" type="&mixed" abstract="0" documentation="" name="connect" static="0" scope="200" />
</UML:Class>
<UML:Class stereotype="" package="" xmi.id="504" abstract="0" documentation="x2c:extern" name="DB" static="0" scope="200" />
+ <UML:Class stereotype="" package="" xmi.id="507" abstract="0" documentation="Formularios para el Administrador de Intranet." name="AIForm" static="0" scope="200" >
+ <UML:Operation stereotype="" package="" xmi.id="509" type="void" abstract="0" documentation="Construye un formulario para el objecto especificado." name="iniciar" static="0" scope="200" >
+ <UML:Parameter stereotype="" package="" xmi.id="2" value="" type="int" abstract="0" documentation="Tipo de formulario a crear. Puede ser GRUPO, SERVICIO o SISTEMA." name="tipo" static="0" scope="200" />
+ <UML:Parameter stereotype="" package="" xmi.id="3" value="" type="int" abstract="0" documentation="Accion que realizará el formulario a crear. Puede ser ALTA, BAJA o MODIFICACION." name="accion" static="0" scope="200" />
+ <UML:Parameter stereotype="" package="" xmi.id="4" value="" type="&object" abstract="0" documentation="Objeto con el cual rellenar el formulario. Puede ser GrupoSecciones, Servicio o Sistema." name="obj" static="0" scope="200" />
+ </UML:Operation>
+ </UML:Class>
+ <UML:Class stereotype="" package="MECON/HTML" xmi.id="508" abstract="0" documentation="x2c:extern" name="QuickForm" static="0" scope="200" />
</umlobjects>
<diagrams>
<diagram snapgrid="0" showattsig="1" fillcolor="#ffffc0" showgrid="0" showopsig="1" usefillcolor="1" snapx="10" snapy="10" showatts="1" xmi.id="412" documentation="" type="402" showops="1" showpackage="0" name="Clases" localid="30000" showstereotype="0" showscope="1" font="Helvetica,8,-1,5,50,0,0,0,0,0" linecolor="#ff0000" >
<UML:ConceptWidget usesdiagramfillcolour="0" width="256" showattsigs="601" usesdiagramusefillcolour="0" x="233" linecolour="#ff0000" y="369" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="35" usefillcolor="1" showattributes="1" xmi.id="469" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
<UML:ConceptWidget usesdiagramfillcolour="0" width="73" showattsigs="601" usesdiagramusefillcolour="0" x="325" linecolour="#ff0000" y="270" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="24" usefillcolor="1" showattributes="0" xmi.id="471" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
<UML:ConceptWidget usesdiagramfillcolour="0" width="211" showattsigs="601" usesdiagramusefillcolour="0" x="30" linecolour="#ff0000" y="20" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="210" usefillcolor="1" showattributes="1" xmi.id="486" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
- <UML:ConceptWidget usesdiagramfillcolour="0" width="117" showattsigs="601" usesdiagramusefillcolour="0" x="379" linecolour="#ff0000" y="322" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="35" usefillcolor="1" showattributes="1" xmi.id="503" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
- <UML:ConceptWidget usesdiagramfillcolour="0" width="46" showattsigs="601" usesdiagramusefillcolour="0" x="414" linecolour="#ff0000" y="270" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="24" usefillcolor="1" showattributes="0" xmi.id="504" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+ <UML:ConceptWidget usesdiagramfillcolour="0" width="117" showattsigs="601" usesdiagramusefillcolour="0" x="347" linecolour="#ff0000" y="490" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="35" usefillcolor="1" showattributes="1" xmi.id="503" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+ <UML:ConceptWidget usesdiagramfillcolour="0" width="46" showattsigs="601" usesdiagramusefillcolour="0" x="382" linecolour="#ff0000" y="420" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="24" usefillcolor="1" showattributes="0" xmi.id="504" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+ <UML:ConceptWidget usesdiagramfillcolour="0" width="261" showattsigs="601" usesdiagramusefillcolour="0" x="48" linecolour="#ff0000" y="490" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="35" usefillcolor="1" showattributes="1" xmi.id="507" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
+ <UML:ConceptWidget usesdiagramfillcolour="0" width="66" showattsigs="601" usesdiagramusefillcolour="0" x="145" linecolour="#ff0000" y="420" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="24" usefillcolor="1" showattributes="0" xmi.id="508" showoperations="0" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
</widgets>
<messages/>
<associations>
</UML:AssocWidget>
<UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="504" widgetaid="503" documentation="" type="500" >
<linepath>
- <startpoint startx="437" starty="322" />
- <endpoint endx="437" endy="294" />
+ <startpoint startx="405" starty="490" />
+ <endpoint endx="405" endy="444" />
+ </linepath>
+ </UML:AssocWidget>
+ <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="508" widgetaid="507" documentation="" type="500" >
+ <linepath>
+ <startpoint startx="178" starty="490" />
+ <endpoint endx="178" endy="444" />
</linepath>
</UML:AssocWidget>
</associations>
<listitem open="1" type="800" id="-1" label="Views" >
<listitem open="1" type="801" id="-1" label="Logical View" >
<listitem open="1" type="803" id="-1" label="AI" >
+ <listitem open="0" type="813" id="503" label="AIDB" >
+ <listitem open="0" type="815" id="506" label="connect" />
+ </listitem>
<listitem open="0" type="813" id="469" label="AIError" >
<listitem open="0" type="815" id="470" label="AIError" />
</listitem>
+ <listitem open="0" type="813" id="507" label="AIForm" >
+ <listitem open="0" type="815" id="509" label="iniciar" />
+ </listitem>
<listitem open="0" type="813" id="486" label="GrupoSecciones" >
<listitem open="0" type="814" id="492" label="antiguedad" />
<listitem open="0" type="815" id="498" label="borrar" />
<listitem open="0" type="815" id="499" label="cargarHijos" />
<listitem open="0" type="815" id="500" label="__clone" />
<listitem open="0" type="814" id="487" label="grupo" />
+ <listitem open="0" type="814" id="489" label="grupo_padre" />
<listitem open="0" type="815" id="495" label="GrupoSecciones" />
<listitem open="0" type="815" id="497" label="guardar" />
<listitem open="0" type="814" id="494" label="habilitado" />
<listitem open="0" type="814" id="490" label="hijos" />
- <listitem open="0" type="814" id="493" label="mostrarHijos" />
+ <listitem open="0" type="814" id="493" label="mostrar_hijos" />
<listitem open="0" type="814" id="488" label="nombre" />
- <listitem open="0" type="814" id="489" label="padre" />
<listitem open="0" type="814" id="491" label="secciones" />
</listitem>
<listitem open="0" type="813" id="413" label="Servicio" >
<listitem open="0" type="814" id="467" label="hijos" />
<listitem open="0" type="814" id="430" label="icono" />
<listitem open="0" type="814" id="431" label="link" />
- <listitem open="0" type="814" id="432" label="linkAyuda" />
- <listitem open="0" type="814" id="434" label="necesitaLogueo" />
+ <listitem open="0" type="814" id="432" label="link_ayuda" />
+ <listitem open="0" type="814" id="434" label="necesita_logueo" />
<listitem open="0" type="814" id="429" label="nombre" />
- <listitem open="0" type="814" id="452" label="padre" />
<listitem open="0" type="814" id="428" label="servicio" />
<listitem open="0" type="815" id="465" label="Servicio" />
+ <listitem open="0" type="814" id="452" label="servicio_padre" />
</listitem>
<listitem open="0" type="813" id="416" label="Sistema" >
<listitem open="0" type="815" id="461" label="borrar" />
<listitem open="0" type="814" id="445" label="habilitado" />
<listitem open="0" type="814" id="438" label="icono" />
<listitem open="0" type="814" id="439" label="link" />
- <listitem open="0" type="814" id="440" label="linkAyuda" />
+ <listitem open="0" type="814" id="440" label="link_ayuda" />
<listitem open="0" type="814" id="437" label="sistema" />
<listitem open="0" type="815" id="466" label="Sistema" />
</listitem>
</listitem>
- <listitem open="1" type="813" id="503" label="AIDB" >
- <listitem open="0" type="815" id="506" label="connect" />
- </listitem>
<listitem open="0" type="807" id="412" label="Clases" />
- <listitem open="1" type="803" id="-1" label="Externo" >
+ <listitem open="0" type="803" id="-1" label="Externo" >
<listitem open="1" type="813" id="504" label="DB" />
<listitem open="0" type="813" id="471" label="PEAR_Error" />
+ <listitem open="1" type="813" id="508" label="QuickForm" />
</listitem>
</listitem>
<listitem open="1" type="802" id="-1" label="Use Case View" />
--- /dev/null
+<?php
+// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
+// +--------------------------------------------------------------------+
+// | Ministerio de Economía |
+// | AI (Administrador de Intranet) |
+// +--------------------------------------------------------------------+
+// | This file is part of AI. |
+// | |
+// | AI is free software; you can redistribute it and/or modify |
+// | it under the terms of the GNU General Public License as published |
+// | by the Free Software Foundation; either version 2 of the License, |
+// | or (at your option) any later version. |
+// | |
+// | AI is distributed in the hope that it will be useful, but |
+// | WITHOUT ANY WARRANTY; without even the implied warranty of |
+// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
+// | General Public License for more details. |
+// | |
+// | You should have received a copy of the GNU General Public License |
+// | along with Hooks; if not, write to the Free Software Foundation, |
+// | Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
+// +--------------------------------------------------------------------+
+// | Creado: Thu Jul 3 17:39:15 2003 |
+// | Autor: Leandro Lucarella <llucar@mecon.gov.ar> |
+// +--------------------------------------------------------------------+
+//
+// $Id$
+//
+
+// +X2C includes
+require_once 'MECON/HTML/QuickForm.php';
+// ~X2C
+
+// Tipo de elementos a manipular.
+define('GRUPO', 1);
+define('SERVICIO', 2);
+define('SISTEMA', 4);
+
+// Acciones.
+define('ALTA', 1);
+define('BAJA', 2);
+define('MODIFICACION', 4);
+
+// +X2C Class 507 :AIForm
+/**
+ * Formularios para el Administrador de Intranet.
+ *
+ * @access public
+ */
+class AIForm extends MECON_HTML_QuickForm {
+ // ~X2C
+
+ // +X2C Operation 509
+ /**
+ * Construye un formulario para el objecto especificado.
+ *
+ * @param int $tipo Tipo de formulario a crear. Puede ser GRUPO, SERVICIO o SISTEMA.
+ * @param int $accion Accion que realizar?el formulario a crear. Puede ser ALTA, BAJA o MODIFICACION.
+ * @param object &$obj Objeto con el cual rellenar el formulario. Puede ser GrupoSecciones, Servicio o Sistema.
+ *
+ * @return void
+ * @access public
+ */
+ function iniciar($tipo, $accion, &$obj) // ~X2C
+ {
+ switch ($tipo) {
+ case GRUPO:
+ $s_tipo = 'grupo';
+ break;
+ case SERVICIO:
+ $s_tipo = 'servicio';
+ break;
+ case SISTEMA:
+ $s_tipo = 'sistema';
+ break;
+ }
+ $s_padre = $s_tipo.'_padre';
+ switch ($accion) {
+ case BAJA:
+ $s_accion = 'Borrar';
+ break;
+ case MODIFICACION:
+ $s_accion = 'Modificar';
+ break;
+ default:
+ $accion = ALTA;
+ $s_accion = 'Agregar';
+ }
+ // Construyo con el padre y seteos generales.
+ $this->setRendererOpts(array('width' => '400'));
+ $this->addElement('header','cabecera', "$s_accion Servicio");
+ // Elementos.
+ if ($accion & (BAJA | MODIFICACION)) {
+ $fId =& $this->addElement('text', $s_tipo, 'Identificador');
+ $fId->setValue($obj->servicio);
+ $fId->freeze();
+ }
+ if ($tipo & (GRUPO | SERVICIO)) {
+ $fPadre =& $this->addElement('text', $s_padre, 'Servicio padre');
+ $fNombre =& $this->addElement('text', 'nombre', 'Nombre');
+ // Validación.
+ $this->addRule('nombre','Debe ingresar un nombre.', 'required');
+ $this->addRule($s_padre, 'Debe ingresar un servicio padre.', 'required');
+ $this->addRule($s_padre, 'El servicio padre debe ser un número natural.',
+ 'regex', '/^\d*$/');
+ // Carga datos.
+ if ($accion & (BAJA | MODIFICACION)) {
+ $fPadre->setValue($obj->$s_padre);
+ $fNombre->setValue($obj->nombre);
+ }
+ }
+ if ($tipo & SERVICIO) {
+ $fDescripcion =& $this->addElement('text', 'descripcion', 'Descripción');
+ $fLogueo =& $this->addElement('checkbox','logueo', 'Necesita login');
+ // Validación
+ $this->addRule('descripcion', 'Debe ingresar una descripción.', 'required');
+ // Carga datos.
+ if ($accion & (BAJA | MODIFICACION)) {
+ $fDescripcion->setValue($obj->descripcion);
+ $fLogueo->setValue($obj->necesita_logueo);
+ }
+ }
+ if ($tipo & (SERVICIO | SISTEMA)) {
+ $fLink =& $this->addElement('text', 'link', 'Enlace');
+ $fLinkAyuda =& $this->addElement('text', 'link_ayuda', 'Enlace de la ayuda');
+ $fIcono =& $this->addElement('text', 'icono', 'Ícono');
+ // Carga datos.
+ if ($accion & (BAJA | MODIFICACION)) {
+ $fLink->setValue($obj->link);
+ $fLinkAyuda->setValue($obj->link_ayuda);
+ $fIcono->setValue($obj->icono);
+ }
+ }
+ $fHabilitado =& $this->addElement('checkbox','habilitado', 'Está habilitado',
+ '', array('checked' => 'checked'));
+ // Carga datos.
+ if ($accion & (BAJA | MODIFICACION)) {
+ $fHabilitado->setValue($obj->habilitado);
+ }
+ // Botones.
+ $fBtnAccion =& parent::createElement('submit', 'aceptar' , $s_accion);
+ if ($accion & MODIFICACION) {
+ $fBtnCancelar =& parent::createElement('submit', 'cancelar' , 'Borrar');
+ $fBtnCancelar =& parent::createElement('submit', 'cancelar' , 'Borrar');
+ }
+ if ($accion & ALTA) {
+ $fBtnCancelar =& parent::createElement('reset', 'cancelar', 'Limpiar');
+ }
+ if ($accion & BAJA) {
+ $fBtnCancelar =& parent::createElement('submit', 'cancelar', 'Cancelar');
+ }
+ $grupo = array(
+ &$fBtnAccion,
+ &$fBtnCancelar,
+ );
+ $this->addGroup($grupo, 'botones');
+ }
+ // -X2C
+
+} // -X2C Class :AIForm
+
+?>
var $nombre = '';
/**
- * @var int $padre
+ * @var int $grupo_padre
* @access public
*/
- var $padre = 0;
+ var $grupo_padre = 0;
/**
* Grupos de secciones que tiene este grupo.
/**
* True si hay que mostrar los grupos hijos (?? FIXME).
*
- * @var bool $mostrarHijos
+ * @var bool $mostrar_hijos
* @access public
*/
- var $mostrarHijos = false;
+ var $mostrar_hijos = false;
/**
* Indica si esta habilitado.
extract($row);
$this->grupo = $grupo;
$this->nombre = $nombre;
- $this->padre = $grupo_padre;
+ $this->grupo_padre = $grupo_padre;
$this->antiguedad = $antiguedad;
- $this->mostrarHijos = $mostrar_hijos;
+ $this->mostrar_hijos= $mostrar_hijos;
// Obtengo secciones.
$secciones = $db->getCol(
"SELECT seccion
$grupo = intval($this->grupo);
$where = '';
$datos = array(
- 'grupo_padre' => intval($this->padre),
+ 'grupo_padre' => intval($this->grupo_padre),
'nombre' => $this->nombre,
'habilitado' => $this->habilitado ? 1 : 0,
'antiguedad' => intval($this->antiguedad),
// +X2C Class 413 :Servicio
/**
+ * Servicio.
+ *
* @access public
*/
class Servicio {
var $servicio = 0;
/**
- * @var int $padre
+ * @var int $servicio_padre
* @access public
*/
- var $padre = 0;
+ var $servicio_padre = 0;
/**
* Servicios hijos.
/**
* Enlace a donde se encuentra la ayuda del servicio.
*
- * @var string $linkAyuda
+ * @var string $link_ayuda
* @access public
*/
- var $linkAyuda = '';
+ var $link_ayuda = '';
/**
* True si es necesario que el usuario se loguee para usar el servicio.
*
- * @var bool $necesitaLogueo
+ * @var bool $necesita_logueo
* @access public
*/
- var $necesitaLogueo = false;
+ var $necesita_logueo = false;
/**
* Indica si esta habilitado.
// Asigno valores al objeto.
extract($row);
$this->servicio = $servicio;
- $this->padre = $servicio_padre;
+ $this->servicio_padre = $servicio_padre;
$this->nombre = $nombre;
$this->descripcion = $descripcion;
$this->icono = $icono; # FIXME - new HTML_Icono (o no?)
$this->link = $link;
- $this->linkAyuda = $link_ayuda;
- $this->necesitaLogueo = $necesita_logueo;
+ $this->link_ayuda = $link_ayuda;
+ $this->necesita_logueo = $necesita_logueo;
$this->habilitado = $habilitado;
return true;
}
$servicio = intval($this->servicio);
$where = '';
$datos = array(
- 'servicio_padre' => intval($this->padre),
+ 'servicio_padre' => intval($this->servicio_padre),
'nombre' => $this->nombre,
'descripcion' => $this->descripcion,
'icono' => $this->icono,
'link' => $this->link,
- 'link_ayuda' => $this->linkAyuda,
- 'necesita_logueo' => $this->necesitaLogueo ? 1 : 0,
+ 'link_ayuda' => $this->link_ayuda,
+ 'necesita_logueo' => $this->necesita_logueo ? 1 : 0,
'habilitado' => $this->habilitado ? 1 : 0,
);
if ($servicio) {
// +X2C Class 416 :Sistema
/**
+ * Sistema.
+ *
* @access public
*/
class Sistema {
/**
* Enlace a la ayuda del sistema.
*
- * @var string $linkAyuda
+ * @var string $link_ayuda
* @access public
*/
- var $linkAyuda = '';
+ var $link_ayuda = '';
/**
* Indica si esta habilitado.
$this->sistema = $sistema;
$this->icono = $icono; # FIXME - new HTML_Icono (o no?)
$this->link = $link;
- $this->linkAyuda = $link_ayuda;
+ $this->link_ayuda = $link_ayuda;
$this->habilitado = $habilitado;
return true;
}
$datos = array(
'icono' => $this->icono,
'link' => $this->link,
- 'link_ayuda' => $this->linkAyuda,
+ 'link_ayuda' => $this->link_ayuda,
'habilitado' => $this->habilitado ? 1 : 0,
);
if ($sistema) {
// $Id$
//
+// Debug.
+require_once 'PEAR.php';
+PEAR::setErrorHandling(PEAR_ERROR_TRIGGER);
+
// Directorio raíz real del sistema.
$ROOTDIR = '/var/www/sistemas/ai';
// Uso siempre a Marco.
require_once 'MECON/Marco.php';
$MARCO = new Marco("$ROOTDIR/conf/Marco.php");
-#$MARCO->setEspacios(false);
// Siempre le agrego una barra al costado.
require_once 'HTML/Table.php';
// Siempre uso mi base de datos.
require_once 'AIDB.php';
-$db =& AIDB::connect();
+$DB =& AIDB::connect();
?>
//
require_once 'MECON/HTML/Arbol/ArbolDB.php';
-require_once 'MECON/HTML/QuickForm.php';
+require_once 'AIForm.php';
require_once 'Servicio.php';
// Dibujo el menu de arbol.
$dbdata = array(
- 'db' => &$db,
+ 'db' => &$DB,
'tabla' => 'servicio',
'id' => 'servicio',
'nombre' => 'nombre',
'id_padre' => 'servicio_padre',
- 'prepend_link' => 'servicios?id='
+ 'prepend_link' => 'servicios?accion='.MODIFICACION.'&id='
);
$arbol = new HTML_ArbolDB($dbdata, '/MECON/images/arbol_noticias.gif');
-// Creo el formulario.
-$form =& new MECON_HTML_QuickForm();
-$form->setRendererOpts(array('width' => '400'));
-$form->addElement('header','cabecera', 'Agregar Servicio');
-$fServicio =& $form->addElement('static' ,'servicio' , 'Identificador' );
-$fPadre =& $form->addElement('text' ,'padre' , 'Servicio padre' );
-$fNombre =& $form->addElement('text' ,'nombre' , 'Nombre' );
-$fDescripcion =& $form->addElement('text' ,'descripcion' , 'Descripción' );
-$fLink =& $form->addElement('text' ,'link' , 'Enlace' );
-$fLinkAyuda =& $form->addElement('text' ,'linkayuda' , 'Enlace de la ayuda' );
-$fIcono =& $form->addElement('text' ,'icono' , 'Ícono' );
-$fLogueo =& $form->addElement('checkbox' ,'logueo' , 'Necesita login' );
-$fHabilitado =& $form->addElement('checkbox' ,'habilitado' , 'Está habilitado', '', array('checked' => 'checked'));
-$fBtnAceptar =& HTML_QuickForm::createElement('submit' , 'aceptar' , 'Aceptar' );
-$fBtnDeshacer =& HTML_QuickForm::createElement('reset' , 'deshacer', 'Deshacer');
-$fBtnCancelar =& HTML_QuickForm::createElement('submit' , 'cancelar', 'Cancelar');
-$grupo = array(
- &$fBtnAceptar,
- &$fBtnDeshacer,
- &$fBtnCancelar,
-);
-$form->addGroup($grupo, 'botones');
-// Agrego reglas de validación.
-$form->addRule('padre' , 'Debe ingresar un servicio padre.' , 'required');
-$form->addRule('nombre' , 'Debe ingresar un nombre.' , 'required');
-$form->addRule('descripcion', 'Debe ingresar una descripción.' , 'required');
-#$form->addRule('link' , 'Debe ingresar un enlace.' , 'required');
-$form->addRule('padre' , 'El servicio padre debe ser un número natural.' , 'regex' , '/^\d*$/');
-
-// Creo un servicio.
+// Creo un servicio y seteo su id.
$servicio = new Servicio;
+$servicio->servicio = @$_REQUEST['id'];
+
+// Verifico que la accion sea válida.
+switch(@$_REQUEST['accion']) {
+ case BAJA:
+ case MODIFICACION:
+ $accion = $_REQUEST['accion'];
+ break;
+ default:
+ $accion = ALTA;
+}
+
+// Creo formulario.
+$form =& new AIForm;
+
+// Verifico si ya se envio el formulario.
+$freeze = false;
+switch (@strtolower(join('', ($form->getSubmitValue('botones'))))) {
+ case 'agregar':
+ $accion = ALTA;
+ break;
+ case 'borrar':
+ $accion = BAJA;
+ $servicio->servicio = $form->getSubmitValue('servicio');
+ // Es la primera "llamada" a borrar asi que indico que hay que
+ // freezarlo primero para confirmar.
+ $freeze = true;
+ break;
+ case 'modificar':
+ case 'cancelar':
+ $accion = MODIFICACION;
+ $servicio->servicio = $form->getSubmitValue('servicio');
+ break;
+}
-// Si viene un servicio por REQUEST, lo cargo.
-if (@$_REQUEST['id']) {
- $servicio->servicio = $_REQUEST['id'];
- $err =& $servicio->cargar($db);
+// Cargo datos de ser necesario.
+if ($accion & (BAJA | MODIFICACION)) {
+ $err =& $servicio->cargar($DB);
if (PEAR::isError($err)) {
die($err->getMessage());
}
- $fServicio->setValue($servicio->servicio);
- $fPadre->setValue($servicio->padre);
- $fNombre->setValue($servicio->nombre);
- $fDescripcion->setValue($servicio->descripcion);
- $fLink->setValue($servicio->link);
- $fLinkAyuda->setValue($servicio->linkAyuda);
- $fIcono->setValue($servicio->icono);
- $fLogueo->setValue($servicio->necesitaLogueo);
- $fHabilitado->setValue($servicio->habilitado);
+ $form->iniciar(SERVICIO, $accion, $servicio);
+} else {
+ $accion = ALTA;
+ $form->iniciar(SERVICIO, ALTA, $servicio);
+}
+
+// Freezo de ser necesario.
+if ($freeze) {
+ $form->freeze();
+}
+
+// Me fijo si se cargo un formulalrio y si es válido.
+if ($form->validate()) {
+/* $botones =& $form->getElement('botones');
+ $botones =& $botones->getElements();
+ $btnAceptar =& $botones[0];
+ $btnCancelar =& $botones[1];
+ $body = $btnAceptar->getValue() . '<BR>' . $btnCancelar->getValue() . '<BR>';
+ switch (strtolower($btnAceptar->getValue())) {
+ case 'agregar':
+ $body .= 'Tengo que agregar!!!';
+ break;
+ case 'modificar':
+ if (strtolower($btnCancelar->getValue()) == 'borrar') {
+ $body .= 'Tengo que poner confirmación para borrar!!!';
+ } else {
+ $body .= 'Tengo que modificar!!!';
+ }
+ break;
+ case 'borrar':
+ if (strtolower($btnCancelar->getValue()) == 'cancelar') {
+ $body .= 'Tengo que poner para modificar de nuevo!!!';
+ } else {
+ $body .= 'Tengo que borrar!!!';
+ }
+ break;
+ }*/
+ switch ($accion) {
+ case ALTA:
+ $form->freeze();
+ $body = 'Tengo que agregar!!!' . $form->toHtml();
+ break;
+ case BAJA:
+ if ($form->isFrozen()) {
+ $form->freeze();
+ $body = 'Tengo que borrar!!!' . $form->toHtml();
+ } else {
+ $form->freeze();
+ $body =& $form;
+ }
+ break;
+ case MODIFICACION:
+ $form->freeze();
+ $body = 'Tengo que modificar!!!' . $form->toHtml();
+ break;
+ }
+} else {
+ $body =& $form;
}
// Dibujo.
$LAYOUT->setCellContents(0, 0, $arbol);
-$LAYOUT->setCellContents(0, 2, $form->toHtml());
+$LAYOUT->setCellContents(0, 2, $body);
$MARCO->addBody($LAYOUT);
$MARCO->display();