X-Git-Url: https://git.llucax.com/mecon/ai.git/blobdiff_plain/0834f9eb09be614474da40ea6a62f13fc791e3fb..d734a389cf0d4b80a22887fd27c8a88379b01527:/lib/AI/Form.php diff --git a/lib/AI/Form.php b/lib/AI/Form.php index 75be294..dc81494 100644 --- a/lib/AI/Form.php +++ b/lib/AI/Form.php @@ -57,6 +57,8 @@ class AI_Form extends MECON_HTML_QuickForm { */ function iniciar(&$obj, $accion = AI_ALTA) // ~X2C { + # FIXME - Tomar la db desde afuera. + $db = AI_DB::connect('../conf/DB.ini'); $tipo = substr(get_class($obj), 3); $s_tipo = ucfirst($tipo); if ($tipo == 'gruposecciones') { @@ -81,8 +83,16 @@ class AI_Form extends MECON_HTML_QuickForm { // Elementos. if ($tipo == 'sistema') { require_once 'SAMURAI/Sistema.php'; - $sistemas = SAMURAI_Sistema::getArraySistemas(AI_DB::connect('../conf/DB.ini')); - $fId =& $this->addElement('select', $tipo, 'Sistema', $sistemas); + $sistemas = array('' => '--'); + $cargados = AI_Sistema::getSistemasArray($db); + foreach (SAMURAI_Sistema::getArraySistemas($db) as $id => $nom) { + if (!in_array($id, $cargados) + or ($accion & (AI_BAJA | AI_MODIF) and $id == $obj->$tipo)) { + $sistemas[$id] = $nom; + } + } + $fId =& $this->addElement('select', $tipo, 'Sistema', $sistemas); + $this->addRule($tipo, 'Debe ingresar un sistema.', 'required'); } if ($accion & (AI_BAJA | AI_MODIF)) { if ($tipo == 'sistema') { @@ -94,10 +104,13 @@ class AI_Form extends MECON_HTML_QuickForm { $fId->freeze(); } if ($tipo == 'grupo' or $tipo == 'servicio') { - $tipos = array('' => '--', '0' => 'Página Principal') + - arbol2array(AI_DB::connect('../conf/DB.ini'), - ($tipo == 'grupo') ? 'grupo_secciones' : $tipo, 0, $tipo, 'nombre', - $tipo . '_padre'); + $tipos = array('' => '--', '0' => 'Página Principal') + + arbol2array($db, ($tipo == 'grupo') ? 'grupo_secciones' : $tipo, + 0, $tipo, 'nombre', $tipo . '_padre', 'ASC'); + // Saco el elemento actual si hay uno cargado (no puede ser padre de si mismo). + if ($accion & (AI_BAJA | AI_MODIF)) { + unset($tipos[$obj->$tipo]); + } $fPadre =& $this->addElement('select', $padre, 'Padre', $tipos); $fNombre =& $this->addElement('text', 'nombre', 'Nombre'); // Validación. @@ -115,8 +128,8 @@ class AI_Form extends MECON_HTML_QuickForm { $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(), - array('multiple' => 'multiple', 'size' => 5)); + AI_GrupoSecciones::getSeccionesArray($db), + array('multiple' => 'multiple', 'size' => 8)); $fMostrarHijos =& $this->addElement('checkbox', 'mostrar_hijos', 'Mostrar hijos'); // Validación. $this->addRule('antiguedad', 'La antigüedad debe ser un número natural.',