X-Git-Url: https://git.llucax.com/mecon/ai.git/blobdiff_plain/043b2bcf8502a733dd6972eeeff6319e6c672436..7836b684fe87f2693757f1e16652dc16444a9682:/sistema/www/servicios.php?ds=inline diff --git a/sistema/www/servicios.php b/sistema/www/servicios.php index 7ff6a8e..d4087eb 100644 --- a/sistema/www/servicios.php +++ b/sistema/www/servicios.php @@ -28,73 +28,126 @@ // require_once 'MECON/HTML/Arbol/ArbolDB.php'; -require_once 'MECON/HTML/QuickForm.php'; +require_once 'AIForm.php'; require_once 'Servicio.php'; // Dibujo el menu de arbol. $dbdata = array( - 'db' => &$db, + 'db' => &$DB, 'tabla' => 'servicio', 'id' => 'servicio', 'nombre' => 'nombre', 'id_padre' => 'servicio_padre', - 'prepend_link' => 'servicios?id=' + 'prepend_link' => 'servicios?accion='.MODIFICACION.'&id=' ); $arbol = new HTML_ArbolDB($dbdata, '/MECON/images/arbol_noticias.gif'); -// Creo el formulario. -$form =& new MECON_HTML_QuickForm(); -$form->setRendererOpts(array('width' => '400')); -$form->addElement('header','cabecera', 'Agregar Servicio'); -$fServicio =& $form->addElement('static' ,'servicio' , 'Identificador' ); -$fPadre =& $form->addElement('text' ,'padre' , 'Servicio padre' ); -$fNombre =& $form->addElement('text' ,'nombre' , 'Nombre' ); -$fDescripcion =& $form->addElement('text' ,'descripcion' , 'Descripción' ); -$fLink =& $form->addElement('text' ,'link' , 'Enlace' ); -$fLinkAyuda =& $form->addElement('text' ,'linkayuda' , 'Enlace de la ayuda' ); -$fIcono =& $form->addElement('text' ,'icono' , 'Ícono' ); -$fLogueo =& $form->addElement('checkbox' ,'logueo' , 'Necesita login' ); -$fHabilitado =& $form->addElement('checkbox' ,'habilitado' , 'Está habilitado', '', array('checked' => 'checked')); -$fBtnAceptar =& HTML_QuickForm::createElement('submit' , 'aceptar' , 'Aceptar' ); -$fBtnDeshacer =& HTML_QuickForm::createElement('reset' , 'deshacer', 'Deshacer'); -$fBtnCancelar =& HTML_QuickForm::createElement('submit' , 'cancelar', 'Cancelar'); -$grupo = array( - &$fBtnAceptar, - &$fBtnDeshacer, - &$fBtnCancelar, -); -$form->addGroup($grupo, 'botones'); -// Agrego reglas de validación. -$form->addRule('padre' , 'Debe ingresar un servicio padre.' , 'required'); -$form->addRule('nombre' , 'Debe ingresar un nombre.' , 'required'); -$form->addRule('descripcion', 'Debe ingresar una descripción.' , 'required'); -#$form->addRule('link' , 'Debe ingresar un enlace.' , 'required'); -$form->addRule('padre' , 'El servicio padre debe ser un número natural.' , 'regex' , '/^\d*$/'); - -// Creo un servicio. +// Creo un servicio y seteo su id. $servicio = new Servicio; +$servicio->servicio = @$_REQUEST['id']; + +// Verifico que la accion sea válida. +switch(@$_REQUEST['accion']) { + case BAJA: + case MODIFICACION: + $accion = $_REQUEST['accion']; + break; + default: + $accion = ALTA; +} + +// Creo formulario. +$form =& new AIForm; + +// Verifico si ya se envio el formulario. +$freeze = false; +switch (@strtolower(join('', ($form->getSubmitValue('botones'))))) { + case 'agregar': + $accion = ALTA; + break; + case 'borrar': + $accion = BAJA; + $servicio->servicio = $form->getSubmitValue('servicio'); + // Es la primera "llamada" a borrar asi que indico que hay que + // freezarlo primero para confirmar. + $freeze = true; + break; + case 'modificar': + case 'cancelar': + $accion = MODIFICACION; + $servicio->servicio = $form->getSubmitValue('servicio'); + break; +} -// Si viene un servicio por REQUEST, lo cargo. -if (@$_REQUEST['id']) { - $servicio->servicio = $_REQUEST['id']; - $err =& $servicio->cargar($db); +// Cargo datos de ser necesario. +if ($accion & (BAJA | MODIFICACION)) { + $err =& $servicio->cargar($DB); if (PEAR::isError($err)) { die($err->getMessage()); } - $fServicio->setValue($servicio->servicio); - $fPadre->setValue($servicio->padre); - $fNombre->setValue($servicio->nombre); - $fDescripcion->setValue($servicio->descripcion); - $fLink->setValue($servicio->link); - $fLinkAyuda->setValue($servicio->linkAyuda); - $fIcono->setValue($servicio->icono); - $fLogueo->setValue($servicio->necesitaLogueo); - $fHabilitado->setValue($servicio->habilitado); + $form->iniciar(SERVICIO, $accion, $servicio); +} else { + $accion = ALTA; + $form->iniciar(SERVICIO, ALTA, $servicio); +} + +// Freezo de ser necesario. +if ($freeze) { + $form->freeze(); +} + +// Me fijo si se cargo un formulalrio y si es válido. +if ($form->validate()) { +/* $botones =& $form->getElement('botones'); + $botones =& $botones->getElements(); + $btnAceptar =& $botones[0]; + $btnCancelar =& $botones[1]; + $body = $btnAceptar->getValue() . '
' . $btnCancelar->getValue() . '
'; + switch (strtolower($btnAceptar->getValue())) { + case 'agregar': + $body .= 'Tengo que agregar!!!'; + break; + case 'modificar': + if (strtolower($btnCancelar->getValue()) == 'borrar') { + $body .= 'Tengo que poner confirmación para borrar!!!'; + } else { + $body .= 'Tengo que modificar!!!'; + } + break; + case 'borrar': + if (strtolower($btnCancelar->getValue()) == 'cancelar') { + $body .= 'Tengo que poner para modificar de nuevo!!!'; + } else { + $body .= 'Tengo que borrar!!!'; + } + break; + }*/ + switch ($accion) { + case ALTA: + $form->freeze(); + $body = 'Tengo que agregar!!!' . $form->toHtml(); + break; + case BAJA: + if ($form->isFrozen()) { + $form->freeze(); + $body = 'Tengo que borrar!!!' . $form->toHtml(); + } else { + $form->freeze(); + $body =& $form; + } + break; + case MODIFICACION: + $form->freeze(); + $body = 'Tengo que modificar!!!' . $form->toHtml(); + break; + } +} else { + $body =& $form; } // Dibujo. $LAYOUT->setCellContents(0, 0, $arbol); -$LAYOUT->setCellContents(0, 2, $form->toHtml()); +$LAYOUT->setCellContents(0, 2, $body); $MARCO->addBody($LAYOUT); $MARCO->display();