| // +--------------------------------------------------------------------+ // // $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 ?>