// $Id$
//
-// +X2C includes
require_once 'MECON/HTML/QuickForm.php';
-// ~X2C
-
require_once 'general.php';
// Definicion de acciones.
define('AI_BAJA', 2);
define('AI_MODIF', 4);
-// +X2C Class 507 :AI_Form
/**
* Formularios para el Administrador de Intranet.
*
* @access public
*/
class AI_Form extends MECON_HTML_QuickForm {
- // ~X2C
- // +X2C Operation 509
/**
* Construye un formulario para el objecto especificado.
*
- * @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 AI_ALTA, AI_BAJA o AI_MODIFICACION.
- * @param HTML_Arbol $arbol ?bol de donde sacar los padres.
- * @param DB $db Base de datos.
+ * @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 AI_ALTA, AI_BAJA o AI_MODIFICACION.
+ * @param DB $db Base de datos a usar.
*
* @return void
* @access public
*/
- function iniciar(&$obj, $accion, $arbol, $db) // ~X2C
+ function iniciar(&$obj, $accion, $db)
{
$tipo = substr(get_class($obj), 3);
$s_tipo = ucfirst($tipo);
$s_accion = 'Agregar';
}
// Construyo con el padre y seteos generales.
- $this->setRendererOpts(array('width' => '400'));
+ $this->renderer->updateAttributes(array('width' => '400'));
$this->addElement('header','cabecera', $s_accion . ' ' . $s_tipo);
- // Elementos.
+ // Elementos:
+ // ID.
if ($tipo == 'sistema') {
require_once 'SAMURAI/Sistema.php';
$sistemas = array('' => '--');
- $sistemas += AI_Sistema::getSistemasArray($db, false);
+ if ($accion & AI_ALTA) {
+ // Si es un alta, tomo una lista de sistemas aún no agregados.
+ $sistemas += AI_Sistema::getSistemasArray($db);
+ } else {
+ // Si no, tomo una lista completa de sistemas.
+ $sistemas += SAMURAI_Sistema::getArraySistemas($db);
+ }
$fId =& $this->addElement('select', $tipo, 'Sistema', $sistemas);
$this->addRule($tipo, 'Debe ingresar un sistema.', 'required');
}
}
$fId->freeze();
}
+ // Padre / Nombre.
if ($tipo == 'grupo' or $tipo == 'servicio') {
+ require_once 'AI/Arbol.php';
+ $arbol = new AI_Arbol($obj, $db, true);
$tipos = array('' => '--', '0' => 'Página Principal')
+ $arbol->toArray();
// Saco el elemento actual si hay uno cargado (no puede ser padre de si mismo).
$fNombre->setValue($obj->nombre);
}
}
+ // Antigüedad / Secciones / Mostrar Hijos.
if ($tipo == 'grupo') {
$fAntiguedad =& $this->addElement('select', 'antiguedad', 'Antigüedad',
array(3 => '3 días', 1 => '1 día', 7 => '1 semana'));
$fSecciones =& $this->addElement('select', 'secciones', 'Secciones',
- AI_GrupoSecciones::getSeccionesArray($db),
+ AI_GrupoSecciones::getSeccionesArray($db, (int)$obj->$tipo),
array('multiple' => 'multiple', 'size' => 8));
$fMostrarHijos =& $this->addElement('checkbox', 'mostrar_hijos', 'Mostrar hijos');
// Validación.
$fMostrarHijos->setChecked($obj->mostrar_hijos);
}
}
+ // Descripción / Necesita Logueo.
if ($tipo == 'servicio') {
$fDescripcion =& $this->addElement('text', 'descripcion', 'Descripción');
$fLogueo =& $this->addElement('checkbox','logueo', 'Necesita login');
+ $fVentana =& $this->addElement('checkbox','ventana', 'Abrir en ventana nueva');
// Validación
$this->addRule('descripcion', 'Debe ingresar una descripción.', 'required');
// Carga datos.
if ($accion & (AI_BAJA | AI_MODIF)) {
$fDescripcion->setValue($obj->descripcion);
$fLogueo->setChecked($obj->necesita_logueo);
+ $fVentana->setChecked($obj->ventana_nueva);
}
}
+ // Link / Link Ayuda.
if ($tipo == 'servicio' or $tipo == 'sistema') {
$fLink =& $this->addElement('text', 'link', 'Enlace');
$fLinkAyuda =& $this->addElement('text', 'link_ayuda', 'Enlace de la ayuda');
//$fIcono =& $this->addElement('text', 'icono', 'Ícono');
$fIcono =& $this->addElement('select', 'icono', 'Ícono',
- listarArchivos('/var/www/sistemas/intranet/www/images', $tipo . '_', '\.gif'));
+ listarArchivos('/var/www/sistemas/intranet/sistema/www/images', $tipo . '_', '\.gif'));
// Carga datos.
if ($accion & (AI_BAJA | AI_MODIF)) {
$fLink->setValue($obj->link);
$this->addRule('icono', 'Debe ingresar un ícono.', 'required');
}
}
+ // Tipo de sistema.
+ if ($tipo == 'sistema') {
+ $fTipo =& $this->addElement('checkbox', 'tipo', 'Usa EmbPerl');
+ // Carga datos.
+ if ($accion & (AI_BAJA | AI_MODIF)) {
+ $fTipo->setChecked($obj->tipo == 'embperl');
+ }
+ }
+ // Habilitado.
$fHabilitado =& $this->addElement('checkbox','habilitado', 'Está habilitado',
'', array('checked' => 'checked'));
- // Carga datos.
- if ($accion & (AI_BAJA | AI_MODIF)) {
+ if ($accion & (AI_BAJA | AI_MODIF)) { // Carga datos.
$fHabilitado->setChecked($obj->habilitado);
}
// Botones.
);
$this->addGroup($grupo, 'botones');
}
- // -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.
+ * @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
+ function llenarObjeto(&$obj)
{
$tipo = substr(get_class($obj), 3);
if ($tipo == 'gruposecciones') {
if ($tipo == 'servicio') {
$obj->descripcion = $this->getSubmitValue('descripcion');
$obj->necesita_logueo = $this->getSubmitValue('logueo');
+ $obj->ventana_nueva = $this->getSubmitValue('ventana');
+ }
+ if ($tipo == 'sistema') {
+ $obj->tipo = $this->getSubmitValue('tipo') ? 'embperl' : 'php';
}
if ($tipo == 'servicio' or $tipo == 'sistema') {
$obj->link = $this->getSubmitValue('link');
$obj->icono = $this->getSubmitValue('icono');
}
}
- // -X2C
-} // -X2C Class :AI_Form
+}
?>
\ No newline at end of file