]> git.llucax.com Git - mecon/ai.git/blobdiff - lib/AI/Form.php
- Se pasan las librerias de locales a generales.
[mecon/ai.git] / lib / AI / Form.php
similarity index 78%
rename from sistema/local_lib/AIForm.php
rename to lib/AI/Form.php
index e931aa5ad99e1b0f94549ad73952bbbc644da4ce..5cc482e6f7b6cac818c9375289415c2d88a183bc 100644 (file)
@@ -32,17 +32,17 @@ require_once 'MECON/HTML/QuickForm.php';
 // ~X2C
 
 // Definicion de acciones.
-define('ALTA',          1);
-define('BAJA',          2);
-define('MODIFICACION',  4);
+define('AI_ALTA',   1);
+define('AI_BAJA',   2);
+define('AI_MODIF',  4);
 
-// +X2C Class 507 :AIForm
+// +X2C Class 507 :AI_Form
 /**
  * Formularios para el Administrador de Intranet.
  *
  * @access public
  */
-class AIForm extends MECON_HTML_QuickForm {
+class AI_Form extends MECON_HTML_QuickForm {
     // ~X2C
 
     // +X2C Operation 509
@@ -50,42 +50,50 @@ class AIForm extends MECON_HTML_QuickForm {
      * Construye un formulario para el objecto especificado.
      *
      * @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.
+     * @param  int $accion Accion que realizar?el formulario a crear. Puede ser AI_ALTA, AI_BAJA o AI_MODIF.
      *
      * @return void
      * @access public
      */
-    function iniciar(&$obj, $accion = ALTA) // ~X2C
+    function iniciar(&$obj, $accion = AI_ALTA) // ~X2C
     {
-        $clase   = get_class($obj);
-        $tipo    = $clase;
-        $s_clase = ucfirst($clase);
-        if ($clase == 'gruposecciones') {
-            $tipo    = 'grupo';
-            $s_clase = 'Grupo de Secciones';
+        $tipo   = substr(get_class($obj), 3);
+        $s_tipo = ucfirst($tipo);
+        if ($tipo == 'gruposecciones') {
+            $tipo   = 'grupo';
+            $s_tipo = 'Grupo de Secciones';
         }
         $padre = $tipo.'_padre';
         switch ($accion) {
-            case BAJA:
+            case AI_BAJA:
                 $s_accion = 'Borrar';
                 break;
-            case MODIFICACION:
+            case AI_MODIF:
                 $s_accion = 'Modificar';
                 break;
             default:
-                $accion   = ALTA;
+                $accion   = AI_ALTA;
                 $s_accion = 'Agregar';
         }
         // Construyo con el padre y seteos generales.
         $this->setRendererOpts(array('width' => '400'));
-        $this->addElement('header','cabecera', $s_accion . ' ' . $s_clase);
+        $this->addElement('header','cabecera', $s_accion . ' ' . $s_tipo);
         // Elementos.
-        if ($accion & (BAJA | MODIFICACION)) {
-            $fId =& $this->addElement('text', $tipo, 'Identificador');
-            $fId->setValue($obj->$tipo);
+        if ($tipo == 'sistema') {
+            require_once 'SAMURAI/Sistema.php';
+            $sistemas = SAMURAI_Sistema::getArraySistemas(AI_DB::connect('../conf/DB.ini'));
+            $fId =& $this->addElement('select', $tipo, 'Sistema', $sistemas);
+        }
+        if ($accion & (AI_BAJA | AI_MODIF)) {
+            if ($tipo == 'sistema') {
+                $fId->setSelected($obj->$tipo);
+            } else {
+                $fId =& $this->addElement('text', $tipo, 'Identificador');
+                $fId->setValue($obj->$tipo);
+            }
             $fId->freeze();
         }
-        if ($clase == 'gruposecciones' or $clase == 'servicio') {
+        if ($tipo == 'grupo' or $tipo == 'servicio') {
             $fPadre  =& $this->addElement('text', $padre, 'Padre');
             $fNombre =& $this->addElement('text', 'nombre', 'Nombre');
             // Validación.
@@ -94,12 +102,12 @@ class AIForm extends MECON_HTML_QuickForm {
             $this->addRule($padre, 'El padre debe ser un número natural.',
                 'regex', '/^\d*$/');
             // Carga datos.
-            if ($accion & (BAJA | MODIFICACION)) {
+            if ($accion & (AI_BAJA | AI_MODIF)) {
                 $fPadre->setValue($obj->$padre);
                 $fNombre->setValue($obj->nombre);
             }
         }
-        if ($clase == 'gruposecciones') {
+        if ($tipo == 'grupo') {
             $fAntiguedad   =& $this->addElement('text', 'antiguedad', 'Antigüedad');
             $fSecciones    =& $this->addElement('select', 'secciones', 'Secciones',
                 array(1=>'test1', 'test2', 'test3', 'test4', 'test5', 'test6', 'test7', 'test8'),
@@ -109,52 +117,52 @@ class AIForm extends MECON_HTML_QuickForm {
             $this->addRule('antiguedad', 'La antigüedad debe ser un número natural.',
                 'regex', '/^\d*$/');
             // Carga datos.
-            if ($accion & (BAJA | MODIFICACION)) {
+            if ($accion & (AI_BAJA | AI_MODIF)) {
                 $fAntiguedad->setValue($obj->antiguedad);
                 $fSecciones->setSelected($obj->secciones);
                 $fMostrarHijos->setChecked($obj->mostrar_hijos);
             }
         }
-        if ($clase == 'servicio') {
+        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)) {
+            if ($accion & (AI_BAJA | AI_MODIF)) {
                 $fDescripcion->setValue($obj->descripcion);
                 $fLogueo->setChecked($obj->necesita_logueo);
             }
         }
-        if ($clase == 'servicio' or $clase == 'sistema') {
+        if ($tipo == 'servicio' or $tipo == '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)) {
+            if ($accion & (AI_BAJA | AI_MODIF)) {
                 $fLink->setValue($obj->link);
                 $fLinkAyuda->setValue($obj->link_ayuda);
                 $fIcono->setValue($obj->icono);
             }
             // Validación.
-            if ($clase == 'sistema') {
+            if ($tipo == 'sistema') {
                 $this->addRule('link',  'Debe ingresar un nombre.', 'required');
-                $this->addRule('icono', 'Debe ingresar un padre.',  'required');
+                $this->addRule('icono', 'Debe ingresar un ícono.',  'required');
             }
         }
         $fHabilitado =& $this->addElement('checkbox','habilitado', 'Está habilitado',
             '', array('checked' => 'checked'));
         // Carga datos.
-        if ($accion & (BAJA | MODIFICACION)) {
+        if ($accion & (AI_BAJA | AI_MODIF)) {
             $fHabilitado->setChecked($obj->habilitado);
         }
         // Botones.
         $fBtnAccion =& parent::createElement('submit', 'aceptar' , $s_accion);
-        if ($accion & MODIFICACION) {
+        if ($accion & AI_MODIF) {
             $fBtnCancelar =& parent::createElement('submit', 'modificar' , 'Borrar');
-        } elseif ($accion & ALTA) {
+        } elseif ($accion & AI_ALTA) {
             $fBtnCancelar =& parent::createElement('reset', 'agregar', 'Limpiar');
-        } elseif ($accion & BAJA) {
+        } elseif ($accion & AI_BAJA) {
             $fBtnCancelar =& parent::createElement('submit', 'borrar', 'Cancelar');
         }
         $grupo = array(
@@ -176,30 +184,28 @@ class AIForm extends MECON_HTML_QuickForm {
      */
     function llenarObjeto(&$obj) // ~X2C
     {
-        $clase = get_class($obj);
-        $tipo  = $clase;
-        if ($clase == 'gruposecciones') {
+        $tipo  = substr(get_class($obj), 3);
+        if ($tipo == 'gruposecciones') {
             $tipo = 'grupo';
         }
         $padre = $tipo.'_padre';
         // Elementos.
         $obj->$tipo = $this->getSubmitValue($tipo);
         $obj->habilitado = $this->getSubmitValue('habilitado');
-        if ($clase == 'gruposecciones' or $clase == 'servicio') {
+        if ($tipo == 'grupo' or $tipo == 'servicio') {
             $obj->$padre = $this->getSubmitValue($padre);
             $obj->nombre = $this->getSubmitValue('nombre');
         }
-        if ($clase == 'gruposecciones') {
+        if ($tipo == 'grupo') {
             $obj->antiguedad    = $this->getSubmitValue('antiguedad');
             $obj->secciones     = $this->getSubmitValue('secciones');
-var_dump($obj->secciones);
             $obj->mostrar_hijos = $this->getSubmitValue('mostrar_hijos');
         }
-        if ($clase == 'servicio') {
+        if ($tipo == 'servicio') {
             $obj->descripcion     = $this->getSubmitValue('descripcion');
             $obj->necesita_logueo = $this->getSubmitValue('logueo');
         }
-        if ($clase == 'servicio' or $clase == 'sistema') {
+        if ($tipo == 'servicio' or $tipo == 'sistema') {
             $obj->link       = $this->getSubmitValue('link');
             $obj->link_ayuda = $this->getSubmitValue('link_ayuda');
             $obj->icono      = $this->getSubmitValue('icono');
@@ -207,6 +213,6 @@ var_dump($obj->secciones);
     }
     // -X2C
 
-} // -X2C Class :AIForm
+} // -X2C Class :AI_Form
 
 ?>