]> git.llucax.com Git - mecon/ai.git/commitdiff
Se termina la primera versión funcional de servicios.
authorLeandro Lucarella <llucax@gmail.com>
Fri, 4 Jul 2003 20:00:42 +0000 (20:00 +0000)
committerLeandro Lucarella <llucax@gmail.com>
Fri, 4 Jul 2003 20:00:42 +0000 (20:00 +0000)
doc/uml.xmi
sistema/local_lib/AIForm.php
sistema/www/servicios.php

index d93cc463dcda476a5d19cca155b4b5d8fa9784b0..6b1092cde844d559b1c30fa96aa429e266a2b629 100644 (file)
@@ -9,7 +9,7 @@
   <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
  </XMI.header>
  <XMI.content>
   <XMI.metamodel xmi.name="UML" href="UML.xml" xmi.version="1.3" />
  </XMI.header>
  <XMI.content>
-  <docsettings viewid="412" documentation="" uniqueid="509" />
+  <docsettings viewid="412" documentation="" uniqueid="510" />
   <umlobjects>
    <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" >
   <umlobjects>
    <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" >
@@ -101,9 +101,11 @@ x2c:get" name="hijos" static="0" scope="202" />
    <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: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="&amp;object" abstract="0" documentation="Objeto con el cual rellenar el formulario. Puede ser GrupoSecciones, Servicio o Sistema." name="obj" static="0" scope="200" />
      <UML:Parameter stereotype="" package="" xmi.id="4" value="" type="&amp;object" abstract="0" documentation="Objeto con el cual rellenar el formulario. Puede ser GrupoSecciones, Servicio o Sistema." name="obj" static="0" scope="200" />
+     <UML:Parameter stereotype="" package="" xmi.id="5" value="ALTA" 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:Operation>
+    <UML:Operation stereotype="" package="" xmi.id="510" type="void" abstract="0" documentation="Llena un objeto con los datos del formulario." name="llenarObjeto" static="0" scope="200" >
+     <UML:Parameter stereotype="" package="" xmi.id="1" value="" type="&amp;mixed" abstract="0" documentation="Objeto a llenar con los datos del 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" />
     </UML:Operation>
    </UML:Class>
    <UML:Class stereotype="" package="MECON/HTML" xmi.id="508" abstract="0" documentation="x2c:extern" name="QuickForm" static="0" scope="200" />
@@ -113,32 +115,32 @@ x2c:get" name="hijos" static="0" scope="202" />
     <widgets>
      <UML:ConceptWidget usesdiagramfillcolour="0" width="193" showattsigs="601" usesdiagramusefillcolour="0" x="270" linecolour="#ff0000" y="20" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="238" usefillcolor="1" showattributes="1" xmi.id="413" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
      <UML:ConceptWidget usesdiagramfillcolour="0" width="184" showattsigs="601" usesdiagramusefillcolour="0" x="30" linecolour="#ff0000" y="250" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="154" usefillcolor="1" showattributes="1" xmi.id="416" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
     <widgets>
      <UML:ConceptWidget usesdiagramfillcolour="0" width="193" showattsigs="601" usesdiagramusefillcolour="0" x="270" linecolour="#ff0000" y="20" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="238" usefillcolor="1" showattributes="1" xmi.id="413" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
      <UML:ConceptWidget usesdiagramfillcolour="0" width="184" showattsigs="601" usesdiagramusefillcolour="0" x="30" linecolour="#ff0000" y="250" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="154" usefillcolor="1" showattributes="1" xmi.id="416" showoperations="1" showpackage="0" showscope="1" showstereotype="0" font="Helvetica,8,-1,5,50,0,0,0,0,0" />
-     <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="256" showattsigs="601" usesdiagramusefillcolour="0" x="233" linecolour="#ff0000" y="347" 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="273" 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="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="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" />
+     <UML:ConceptWidget usesdiagramfillcolour="0" width="117" showattsigs="601" usesdiagramusefillcolour="0" x="57" linecolour="#ff0000" y="481" 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="92" linecolour="#ff0000" y="418" 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="254" showattsigs="601" usesdiagramusefillcolour="0" x="233" linecolour="#ff0000" y="467" showopsigs="601" usesdiagramlinecolour="0" fillcolour="#ffffc0" height="49" 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="327" linecolour="#ff0000" y="399" 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 totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="471" widgetaid="469" documentation="" type="500" >
       <linepath>
     </widgets>
     <messages/>
     <associations>
      <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="471" widgetaid="469" documentation="" type="500" >
       <linepath>
-       <startpoint startx="361" starty="369" />
-       <endpoint endx="361" endy="294" />
+       <startpoint startx="361" starty="347" />
+       <endpoint endx="361" endy="297" />
       </linepath>
      </UML:AssocWidget>
      <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="504" widgetaid="503" documentation="" type="500" >
       <linepath>
       </linepath>
      </UML:AssocWidget>
      <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="504" widgetaid="503" documentation="" type="500" >
       <linepath>
-       <startpoint startx="405" starty="490" />
-       <endpoint endx="405" endy="444" />
+       <startpoint startx="115" starty="481" />
+       <endpoint endx="115" endy="442" />
       </linepath>
      </UML:AssocWidget>
      <UML:AssocWidget totalcounta="2" indexa="1" totalcountb="2" indexb="1" widgetbid="508" widgetaid="507" documentation="" type="500" >
       <linepath>
       </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" />
+       <startpoint startx="360" starty="467" />
+       <endpoint endx="360" endy="423" />
       </linepath>
      </UML:AssocWidget>
     </associations>
       </linepath>
      </UML:AssocWidget>
     </associations>
@@ -156,6 +158,7 @@ x2c:get" name="hijos" static="0" scope="202" />
       </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="507" label="AIForm" >
        <listitem open="0" type="815" id="509" label="iniciar" />
+       <listitem open="0" type="815" id="510" label="llenarObjeto" />
       </listitem>
       <listitem open="0" type="813" id="486" label="GrupoSecciones" >
        <listitem open="0" type="814" id="492" label="antiguedad" />
       </listitem>
       <listitem open="0" type="813" id="486" label="GrupoSecciones" >
        <listitem open="0" type="814" id="492" label="antiguedad" />
index b84837f7ab3b5f00ebe90354528078816072d133..6eff1b019b88fe0a3f364dbf6c207e37805d4a58 100644 (file)
 require_once 'MECON/HTML/QuickForm.php';
 // ~X2C
 
 require_once 'MECON/HTML/QuickForm.php';
 // ~X2C
 
-// Tipo de elementos a manipular.
-define('GRUPO',     1);
-define('SERVICIO',  2);
-define('SISTEMA',   4);
-
-// Acciones.
+// Definicion de acciones.
 define('ALTA',          1);
 define('BAJA',          2);
 define('MODIFICACION',  4);
 define('ALTA',          1);
 define('BAJA',          2);
 define('MODIFICACION',  4);
@@ -54,27 +49,16 @@ class AIForm extends MECON_HTML_QuickForm {
     /**
      * Construye un formulario para el objecto especificado.
      *
     /**
      * 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.
      * @param  object &$obj Objeto con el cual rellenar el formulario. Puede ser GrupoSecciones, Servicio o Sistema.
+     * @param  int $accion Accion que realizar?el formulario a crear. Puede ser ALTA, BAJA o MODIFICACION.
      *
      * @return void
      * @access public
      */
      *
      * @return void
      * @access public
      */
-    function iniciar($tipo, $accion, &$obj) // ~X2C
+    function iniciar(&$obj, $accion = ALTA) // ~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';
+        $clase = get_class($obj);
+        $padre = $clase.'_padre';
         switch ($accion) {
             case BAJA:
                 $s_accion = 'Borrar';
         switch ($accion) {
             case BAJA:
                 $s_accion = 'Borrar';
@@ -91,25 +75,25 @@ class AIForm extends MECON_HTML_QuickForm {
         $this->addElement('header','cabecera', "$s_accion Servicio");
         // Elementos.
         if ($accion & (BAJA | MODIFICACION)) {
         $this->addElement('header','cabecera', "$s_accion Servicio");
         // Elementos.
         if ($accion & (BAJA | MODIFICACION)) {
-            $fId =& $this->addElement('text', $s_tipo, 'Identificador');
-            $fId->setValue($obj->servicio);
+            $fId =& $this->addElement('text', $clase, 'Identificador');
+            $fId->setValue($obj->$clase);
             $fId->freeze();
         }
             $fId->freeze();
         }
-        if ($tipo & (GRUPO | SERVICIO)) {
-            $fPadre  =& $this->addElement('text', $s_padre, 'Servicio padre');
+        if ($clase == 'grupo' or $clase == 'servicio') {
+            $fPadre  =& $this->addElement('text', $padre, 'Servicio padre');
             $fNombre =& $this->addElement('text', 'nombre', 'Nombre');
             // Validación.
             $this->addRule('nombre','Debe ingresar un nombre.',         'required');
             $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.',
+            $this->addRule($padre, 'Debe ingresar un servicio padre.', 'required');
+            $this->addRule($padre, 'El servicio padre debe ser un número natural.',
                 'regex', '/^\d*$/');
             // Carga datos.
             if ($accion & (BAJA | MODIFICACION)) {
                 'regex', '/^\d*$/');
             // Carga datos.
             if ($accion & (BAJA | MODIFICACION)) {
-                $fPadre->setValue($obj->$s_padre);
+                $fPadre->setValue($obj->$padre);
                 $fNombre->setValue($obj->nombre);
             }
         }
                 $fNombre->setValue($obj->nombre);
             }
         }
-        if ($tipo & SERVICIO) {
+        if ($clase == 'servicio') {
             $fDescripcion =& $this->addElement('text', 'descripcion', 'Descripción');
             $fLogueo      =& $this->addElement('checkbox','logueo', 'Necesita login');
             // Validación
             $fDescripcion =& $this->addElement('text', 'descripcion', 'Descripción');
             $fLogueo      =& $this->addElement('checkbox','logueo', 'Necesita login');
             // Validación
@@ -120,7 +104,7 @@ class AIForm extends MECON_HTML_QuickForm {
                 $fLogueo->setValue($obj->necesita_logueo);
             }
         }
                 $fLogueo->setValue($obj->necesita_logueo);
             }
         }
-        if ($tipo & (SERVICIO | SISTEMA)) {
+        if ($clase == 'servicio' or $clase == 'sistema') {
             $fLink      =& $this->addElement('text', 'link', 'Enlace');
             $fLinkAyuda =& $this->addElement('text', 'link_ayuda', 'Enlace de la ayuda');
             $fIcono     =& $this->addElement('text', 'icono', 'Ícono');
             $fLink      =& $this->addElement('text', 'link', 'Enlace');
             $fLinkAyuda =& $this->addElement('text', 'link_ayuda', 'Enlace de la ayuda');
             $fIcono     =& $this->addElement('text', 'icono', 'Ícono');
@@ -140,14 +124,11 @@ class AIForm extends MECON_HTML_QuickForm {
         // Botones.
         $fBtnAccion =& parent::createElement('submit', 'aceptar' , $s_accion);
         if ($accion & MODIFICACION) {
         // 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');
+            $fBtnCancelar =& parent::createElement('submit', 'modificar' , 'Borrar');
+        } elseif ($accion & ALTA) {
+            $fBtnCancelar =& parent::createElement('reset', 'agregar', 'Limpiar');
+        } elseif ($accion & BAJA) {
+            $fBtnCancelar =& parent::createElement('submit', 'borrar', 'Cancelar');
         }
         $grupo = array(
             &$fBtnAccion,
         }
         $grupo = array(
             &$fBtnAccion,
@@ -157,6 +138,38 @@ class AIForm extends MECON_HTML_QuickForm {
     }
     // -X2C
 
     }
     // -X2C
 
+    // +X2C Operation 510
+    /**
+     * Llena un objeto con los datos del formulario.
+     *
+     * @param  mixed &$obj Objeto a llenar con los datos del formulario. Puede ser GrupoSecciones, Servicio o Sistema.
+     *
+     * @return void
+     * @access public
+     */
+    function llenarObjeto(&$obj) // ~X2C
+    {
+        $clase = get_class($obj);
+        $padre = $clase.'_padre';
+        // Elementos.
+        $obj->$clase = $this->getSubmitValue($clase);
+        $obj->habilitado = $this->getSubmitValue('habilitado');
+        if ($clase == 'grupo' or $clase == 'servicio') {
+            $obj->$padre = $this->getSubmitValue($padre);
+            $obj->nombre = $this->getSubmitValue('nombre');
+        }
+        if ($clase == 'servicio') {
+            $obj->descripcion     = $this->getSubmitValue('descripcion');
+            $obj->necesita_logueo = $this->getSubmitValue('logueo');
+        }
+        if ($clase == 'servicio' or $clase == 'sistema') {
+            $obj->link       = $this->getSubmitValue('link');
+            $obj->link_ayuda = $this->getSubmitValue('link_ayuda');
+            $obj->icono      = $this->getSubmitValue('icono');
+        }
+    }
+    // -X2C
+
 } // -X2C Class :AIForm
 
 ?>
 } // -X2C Class :AIForm
 
 ?>
index d4087ebd653d4fc3738ba2f6ea3fcbe102ca174a..417dd2a232f4f53b714b37951384e280e8d5c6f5 100644 (file)
@@ -1,5 +1,5 @@
 <?php
 <?php
-// vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
+// vim: set expandtab tabstop=4 shiftwidth=4 foldmethod=marker:
 // +--------------------------------------------------------------------+
 // |                      Ministerio de Economía                        |
 // |                  AI (Administrador de Intranet)                    |
 // +--------------------------------------------------------------------+
 // |                      Ministerio de Economía                        |
 // |                  AI (Administrador de Intranet)                    |
 // $Id$
 //
 
 // $Id$
 //
 
+// Requires. {{{
 require_once 'MECON/HTML/Arbol/ArbolDB.php';
 require_once 'AIForm.php';
 require_once 'Servicio.php';
 require_once 'MECON/HTML/Arbol/ArbolDB.php';
 require_once 'AIForm.php';
 require_once 'Servicio.php';
+// }}}
 
 
-// Dibujo el menu de arbol.
+// Creo el árbol con los servicios. {{{
 $dbdata = array(
     'db'            => &$DB,
     'tabla'         => 'servicio',
 $dbdata = array(
     'db'            => &$DB,
     'tabla'         => 'servicio',
@@ -41,12 +43,18 @@ $dbdata = array(
     'prepend_link'  => 'servicios?accion='.MODIFICACION.'&id='
 );
 $arbol = new HTML_ArbolDB($dbdata, '/MECON/images/arbol_noticias.gif');
     'prepend_link'  => 'servicios?accion='.MODIFICACION.'&id='
 );
 $arbol = new HTML_ArbolDB($dbdata, '/MECON/images/arbol_noticias.gif');
+// }}}
 
 
-// Creo un servicio y seteo su id.
+// Creo un servicio y seteo su id. {{{
 $servicio = new Servicio;
 $servicio->servicio = @$_REQUEST['id'];
 $servicio = new Servicio;
 $servicio->servicio = @$_REQUEST['id'];
+// }}}
 
 
-// Verifico que la accion sea válida.
+// Creo formulario. {{{
+$form =& new AIForm;
+// }}}
+
+// Verifico que la accion sea válida. {{{
 switch(@$_REQUEST['accion']) {
     case BAJA:
     case MODIFICACION:
 switch(@$_REQUEST['accion']) {
     case BAJA:
     case MODIFICACION:
@@ -55,100 +63,99 @@ switch(@$_REQUEST['accion']) {
     default:
         $accion = ALTA;
 }
     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':
+// Verifico si ya se envio el formulario. {{{
+$botones = $form->getSubmitValue('botones');
+if ($boton = @join('', array_keys($botones))) {
+    $boton = $boton . '_' . strtolower($botones[$boton]);
+}
+switch ($boton) {
+    case 'aceptar_agregar':
         $accion = ALTA;
         break;
         $accion = ALTA;
         break;
-    case 'borrar':
+    case 'modificar_borrar':
+        // Viene de modificar,  hay que confirmar primero.
+        $a_confirmar = true;
+    case 'aceptar_borrar':
         $accion = BAJA;
         $servicio->servicio = $form->getSubmitValue('servicio');
         $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;
         break;
-    case 'modificar':
-    case 'cancelar':
+    case 'borrar_cancelar':
+        // Indico que viene de un formulario cancelado.
+        $cancelado = true;
+    case 'aceptar_modificar':
         $accion = MODIFICACION;
         $servicio->servicio = $form->getSubmitValue('servicio');
         break;
 }
         $accion = MODIFICACION;
         $servicio->servicio = $form->getSubmitValue('servicio');
         break;
 }
+// }}}
 
 
-// Cargo datos de ser necesario.
+// Inicio el formulario, cargando datos de ser necesario. {{{
 if ($accion & (BAJA | MODIFICACION)) {
     $err =& $servicio->cargar($DB);
     if (PEAR::isError($err)) {
         die($err->getMessage());
     }
 if ($accion & (BAJA | MODIFICACION)) {
     $err =& $servicio->cargar($DB);
     if (PEAR::isError($err)) {
         die($err->getMessage());
     }
-    $form->iniciar(SERVICIO, $accion, $servicio);
+    $form->iniciar($servicio, $accion);
 } else {
     $accion = ALTA;
 } else {
     $accion = ALTA;
-    $form->iniciar(SERVICIO, ALTA, $servicio);
+    $form->iniciar($servicio);
 }
 }
+// }}}
 
 
-// Freezo de ser necesario.
-if ($freeze) {
+// Freezo de ser necesario. {{{
+if (@$a_confirmar) {
     $form->freeze();
 }
     $form->freeze();
 }
+// }}}
 
 
-// Me fijo si se cargo un formulalrio y si es válido.
+// Me fijo si se cargo un formulalrio y si es válido. {{{
 if ($form->validate()) {
 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:
     switch ($accion) {
         case ALTA:
-            $form->freeze();
-            $body = 'Tengo que agregar!!!' . $form->toHtml();
+            $form->llenarObjeto($servicio);
+            $err =& $servicio->guardar($DB);
+            if (PEAR::isError($err)) {
+                die($err->getMessage());
+            }
+            header(sprintf('Location: servicios?accion=%d&id=%d',
+                MODIFICACION, $servicio->servicio));
+            exit;
             break;
         case BAJA:
             break;
         case BAJA:
-            if ($form->isFrozen()) {
-                $form->freeze();
-                $body = 'Tengo que borrar!!!' . $form->toHtml();
-            } else {
-                $form->freeze();
-                $body =& $form;
+            if (!@$a_confirmar) {
+                $form->llenarObjeto($servicio);
+                $err =& $servicio->borrar($DB);
+                if (PEAR::isError($err)) {
+                    die($err->getMessage());
+                }
+                header('Location: servicios');
+                exit;
             }
             break;
         case MODIFICACION:
             }
             break;
         case MODIFICACION:
-            $form->freeze();
-            $body = 'Tengo que modificar!!!' . $form->toHtml();
+            if (!@$cancelado) {
+                $form->llenarObjeto($servicio);
+                $err =& $servicio->guardar($DB);
+                if (PEAR::isError($err)) {
+                    die($err->getMessage());
+                }
+                header(sprintf('Location: servicios?accion=%d&id=%d',
+                    MODIFICACION, $servicio->servicio));
+                exit;
+            }
             break;
     }
             break;
     }
-} else {
-    $body =& $form;
 }
 }
+$body =& $form;
+// }}}
 
 
-// Dibujo.
+// Dibujo. {{{
 $LAYOUT->setCellContents(0, 0, $arbol);
 $LAYOUT->setCellContents(0, 2, $body);
 $MARCO->addBody($LAYOUT);
 $MARCO->display();
 $LAYOUT->setCellContents(0, 0, $arbol);
 $LAYOUT->setCellContents(0, 2, $body);
 $MARCO->addBody($LAYOUT);
 $MARCO->display();
+// }}}
 
 ?>
 
 ?>