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);
/**
* 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 int $accion Accion que realizar?el formulario a crear. Puede ser ALTA, BAJA o MODIFICACION.
*
* @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;
+ $clase = get_class($obj);
+ $s_clase = ucfirst($clase);
+ if ($clase == 'gruposecciones') {
+ $s_clase = 'Grupo de Secciones';
}
- $s_padre = $s_tipo.'_padre';
+ $padre = $clase.'_padre';
switch ($accion) {
case BAJA:
$s_accion = 'Borrar';
}
// Construyo con el padre y seteos generales.
$this->setRendererOpts(array('width' => '400'));
- $this->addElement('header','cabecera', "$s_accion Servicio");
+ $this->addElement('header','cabecera', $s_accion . ' ' . $s_clase);
// 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();
}
- if ($tipo & (GRUPO | SERVICIO)) {
- $fPadre =& $this->addElement('text', $s_padre, 'Servicio padre');
+ if ($clase == 'gruposecciones' or $clase == 'servicio') {
+ $fPadre =& $this->addElement('text', $padre, '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.',
+ $this->addRule($padre, 'Debe ingresar un padre.', 'required');
+ $this->addRule($padre, 'El padre debe ser un número natural.',
'regex', '/^\d*$/');
// Carga datos.
if ($accion & (BAJA | MODIFICACION)) {
- $fPadre->setValue($obj->$s_padre);
+ $fPadre->setValue($obj->$padre);
$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
$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');
// 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,
}
// -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
?>