]> git.llucax.com Git - mecon/ai.git/blob - sistema/www/servicios.php
Se corrigen los warnings si no valida bien el formulario.
[mecon/ai.git] / sistema / www / servicios.php
1 <?php
2 // vim: set expandtab tabstop=4 softtabstop=4 shiftwidth=4:
3 // +--------------------------------------------------------------------+
4 // |                      Ministerio de Economía                        |
5 // |                  AI (Administrador de Intranet)                    |
6 // +--------------------------------------------------------------------+
7 // | This file is part of AI.                                           |
8 // |                                                                    |
9 // | AI is free software; you can redistribute it and/or modify         |
10 // | it under the terms of the GNU General Public License as published  |
11 // | by the Free Software Foundation; either version 2 of the License,  |
12 // | or (at your option) any later version.                             |
13 // |                                                                    |
14 // | AI is distributed in the hope that it will be useful, but          |
15 // | WITHOUT ANY WARRANTY; without even the implied warranty of         |
16 // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU   |
17 // | General Public License for more details.                           |
18 // |                                                                    |
19 // | You should have received a copy of the GNU General Public License  |
20 // | along with Hooks; if not, write to the Free Software Foundation,   |
21 // | Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA      |
22 // +--------------------------------------------------------------------+
23 // | Creado: vie jun 27 17:08:18 ART 2003                               |
24 // | Autor:  Leandro Lucarella <llucar@mecon.gov.ar>                    |
25 // +--------------------------------------------------------------------+
26 //
27 // $Id$
28 //
29
30 require_once 'MECON/HTML/Arbol/ArbolDB.php';
31 require_once 'MECON/HTML/QuickForm.php';
32 require_once 'Servicio.php';
33
34 // Dibujo el menu de arbol.
35 $dbdata = array(
36     'db'            => &$db,
37     'tabla'         => 'servicio',
38     'id'            => 'servicio',
39     'nombre'        => 'nombre',
40     'id_padre'      => 'servicio_padre',
41     'prepend_link'  => 'servicios?id='
42 );
43 $arbol = new HTML_ArbolDB($dbdata, '/MECON/images/arbol_noticias.gif');
44
45 // Creo el formulario.
46 $form =& new MECON_HTML_QuickForm();
47 $form->setRendererOpts(array('width' => '400'));
48 $form->addElement('header','cabecera', 'Agregar Servicio');
49 $fServicio      =& $form->addElement('static'   ,'servicio'     , 'Identificador'       );
50 $fPadre         =& $form->addElement('text'     ,'padre'        , 'Servicio padre'      );
51 $fNombre        =& $form->addElement('text'     ,'nombre'       , 'Nombre'              );
52 $fDescripcion   =& $form->addElement('text'     ,'descripcion'  , 'Descripción'         );
53 $fLink          =& $form->addElement('text'     ,'link'         , 'Enlace'              );
54 $fLinkAyuda     =& $form->addElement('text'     ,'linkayuda'    , 'Enlace de la ayuda'  );
55 $fIcono         =& $form->addElement('text'     ,'icono'        , 'Ícono'               );
56 $fLogueo        =& $form->addElement('checkbox' ,'logueo'       , 'Necesita login'      );
57 $fHabilitado    =& $form->addElement('checkbox' ,'habilitado'   , 'Está habilitado', '', array('checked' => 'checked'));
58 $fBtnAceptar    =& HTML_QuickForm::createElement('submit'   , 'aceptar' , 'Aceptar' );
59 $fBtnDeshacer   =& HTML_QuickForm::createElement('reset'    , 'deshacer', 'Deshacer');
60 $fBtnCancelar   =& HTML_QuickForm::createElement('submit'   , 'cancelar', 'Cancelar');
61 $grupo = array(
62     &$fBtnAceptar,
63     &$fBtnDeshacer,
64     &$fBtnCancelar,
65 );
66 $form->addGroup($grupo, 'botones');
67 // Agrego reglas de validación.
68 $form->addRule('padre'      , 'Debe ingresar un servicio padre.'     , 'required');
69 $form->addRule('nombre'     , 'Debe ingresar un nombre.'     , 'required');
70 $form->addRule('descripcion', 'Debe ingresar una descripción.'     , 'required');
71 #$form->addRule('link'       , 'Debe ingresar un enlace.'     , 'required');
72 $form->addRule('padre'      , 'El servicio padre debe ser un número natural.' , 'regex'   , '/^\d*$/');
73
74 // Creo un servicio.
75 $servicio = new Servicio;
76
77 // Si viene un servicio por REQUEST, lo cargo.
78 if (@$_REQUEST['id']) {
79     $servicio->servicio = $_REQUEST['id'];
80     $err =& $servicio->cargar($db);
81     if (PEAR::isError($err)) {
82         die($err->getMessage());
83     }
84     $fServicio->setValue($servicio->servicio);
85     $fPadre->setValue($servicio->padre);
86     $fNombre->setValue($servicio->nombre);
87     $fDescripcion->setValue($servicio->descripcion);
88     $fLink->setValue($servicio->link);
89     $fLinkAyuda->setValue($servicio->linkAyuda);
90     $fIcono->setValue($servicio->icono);
91     $fLogueo->setValue($servicio->necesitaLogueo);
92     $fHabilitado->setValue($servicio->habilitado);
93 }
94
95 // Dibujo.
96 $LAYOUT->setCellContents(0, 0, $arbol);
97 $LAYOUT->setCellContents(0, 2, $form->toHtml());
98 $MARCO->addBody($LAYOUT);
99 $MARCO->display();
100
101 ?>