X-Git-Url: https://git.llucax.com/mecon/ai.git/blobdiff_plain/0ef0677af2bf0524273dc9867fad510a84e61099..6dae897ef96ea30feeb2fa6d5de82c9c7775b479:/sistema/local_lib/AI/Form.php diff --git a/sistema/local_lib/AI/Form.php b/sistema/local_lib/AI/Form.php index 804ed27..27e9bb2 100644 --- a/sistema/local_lib/AI/Form.php +++ b/sistema/local_lib/AI/Form.php @@ -53,14 +53,13 @@ class AI_Form extends MECON_HTML_QuickForm { * 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 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) // ~X2C { $tipo = substr(get_class($obj), 3); $s_tipo = ucfirst($tipo); @@ -81,18 +80,18 @@ class AI_Form extends MECON_HTML_QuickForm { $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. if ($tipo == 'sistema') { require_once 'SAMURAI/Sistema.php'; $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; - } + 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'); @@ -107,6 +106,8 @@ class AI_Form extends MECON_HTML_QuickForm { $fId->freeze(); } 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). @@ -130,7 +131,7 @@ 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($db), + AI_GrupoSecciones::getSeccionesArray($db, (int)$obj->$tipo), array('multiple' => 'multiple', 'size' => 8)); $fMostrarHijos =& $this->addElement('checkbox', 'mostrar_hijos', 'Mostrar hijos'); // Validación.