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. |
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. |
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. |
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: Thu Jul 3 17:39:15 2003 |
24 // | Autor: Leandro Lucarella <llucar@mecon.gov.ar> |
25 // +--------------------------------------------------------------------+
31 require_once 'MECON/HTML/QuickForm.php';
34 // Tipo de elementos a manipular.
36 define('SERVICIO', 2);
42 define('MODIFICACION', 4);
44 // +X2C Class 507 :AIForm
46 * Formularios para el Administrador de Intranet.
50 class AIForm extends MECON_HTML_QuickForm {
55 * Construye un formulario para el objecto especificado.
57 * @param int $tipo Tipo de formulario a crear. Puede ser GRUPO, SERVICIO o SISTEMA.
58 * @param int $accion Accion que realizar?el formulario a crear. Puede ser ALTA, BAJA o MODIFICACION.
59 * @param object &$obj Objeto con el cual rellenar el formulario. Puede ser GrupoSecciones, Servicio o Sistema.
64 function iniciar($tipo, $accion, &$obj) // ~X2C
77 $s_padre = $s_tipo.'_padre';
83 $s_accion = 'Modificar';
87 $s_accion = 'Agregar';
89 // Construyo con el padre y seteos generales.
90 $this->setRendererOpts(array('width' => '400'));
91 $this->addElement('header','cabecera', "$s_accion Servicio");
93 if ($accion & (BAJA | MODIFICACION)) {
94 $fId =& $this->addElement('text', $s_tipo, 'Identificador');
95 $fId->setValue($obj->servicio);
98 if ($tipo & (GRUPO | SERVICIO)) {
99 $fPadre =& $this->addElement('text', $s_padre, 'Servicio padre');
100 $fNombre =& $this->addElement('text', 'nombre', 'Nombre');
102 $this->addRule('nombre','Debe ingresar un nombre.', 'required');
103 $this->addRule($s_padre, 'Debe ingresar un servicio padre.', 'required');
104 $this->addRule($s_padre, 'El servicio padre debe ser un número natural.',
107 if ($accion & (BAJA | MODIFICACION)) {
108 $fPadre->setValue($obj->$s_padre);
109 $fNombre->setValue($obj->nombre);
112 if ($tipo & SERVICIO) {
113 $fDescripcion =& $this->addElement('text', 'descripcion', 'Descripción');
114 $fLogueo =& $this->addElement('checkbox','logueo', 'Necesita login');
116 $this->addRule('descripcion', 'Debe ingresar una descripción.', 'required');
118 if ($accion & (BAJA | MODIFICACION)) {
119 $fDescripcion->setValue($obj->descripcion);
120 $fLogueo->setValue($obj->necesita_logueo);
123 if ($tipo & (SERVICIO | SISTEMA)) {
124 $fLink =& $this->addElement('text', 'link', 'Enlace');
125 $fLinkAyuda =& $this->addElement('text', 'link_ayuda', 'Enlace de la ayuda');
126 $fIcono =& $this->addElement('text', 'icono', 'Ícono');
128 if ($accion & (BAJA | MODIFICACION)) {
129 $fLink->setValue($obj->link);
130 $fLinkAyuda->setValue($obj->link_ayuda);
131 $fIcono->setValue($obj->icono);
134 $fHabilitado =& $this->addElement('checkbox','habilitado', 'Está habilitado',
135 '', array('checked' => 'checked'));
137 if ($accion & (BAJA | MODIFICACION)) {
138 $fHabilitado->setValue($obj->habilitado);
141 $fBtnAccion =& parent::createElement('submit', 'aceptar' , $s_accion);
142 if ($accion & MODIFICACION) {
143 $fBtnCancelar =& parent::createElement('submit', 'cancelar' , 'Borrar');
144 $fBtnCancelar =& parent::createElement('submit', 'cancelar' , 'Borrar');
146 if ($accion & ALTA) {
147 $fBtnCancelar =& parent::createElement('reset', 'cancelar', 'Limpiar');
149 if ($accion & BAJA) {
150 $fBtnCancelar =& parent::createElement('submit', 'cancelar', 'Cancelar');
156 $this->addGroup($grupo, 'botones');
160 } // -X2C Class :AIForm