Se agregan 2 tipos de orden predefinidos para los servicios:
AI_SERVICIO_ORDEN_LONG_HIJOS y AI_SERVICIO_ORDEN_LONG_NOMBRE. El primero
está pensado para ordenar las tablas de servicios realizando un balance de
carga, ya que ordena haciendo un calculo que predice la cantidad de
renglones que ocupará cada hijo.
El segundo está pensado para ordenar los contenidos de una tabla, para que
aparezcan los nombres mas largos abajo.
Grupo de noticias:
- Ahora una sección puede pertenecer sólo a un grupo.
- Al agregar un grupo se muestran sólo las secciones que todavía no están
en ningún grupo. Al modificar se muestran las que no están en ningún
grupo más las que están en el grupo a modificar.
Arbol:
- Se arreglan los árboles para que funcione con la última versión.
- Los árboles aparecen sin expandir en el menú y expandido en los select
para elegir el padre.
Se usa el login de la nueva intranet y se chequean los permisos con la
nueva función de SAMURAI_Perm que redirige a la página de "no autorizado" si
no tiene permisos.
Se trata de terminar de tomar en cuenta el flag habilitado, pero no anda la
alta de sistemas.
Se hacen joins en todos los querys de AI_Sistema.
Se actualiza la TODO list.
- Se agrega un método estático AI_Error::isError() para saber si algo es un
error.
- Se verifica si un objeto tiene hijos antes de borrarlo e impidiendo que
se lo borre con un mensaje de error en ese caso.
- Se actualiza la TODO list.
- Se filtran los sistemas ya agregados a la hora de agregar uno nuevo.
- Se crea un método estático para obtener un array con los ID de los
sistemas ya cargados (para filtrar).
- Se agrega un comentario a los .ini de AI_DBTreeObject.
- Se actualiza la TODO.
- Se ordenan la mayoría de los resultados de las DB.
- Se corrige el método AI_GrupoSecciones::getSeccionesArray(), ahora no
crea una conexión SQL nueva y saca la configuración del archivo de
configuración.
- Se agregan constantes con los nombres de los archivos de configuración de
los objetos principales.
- Se agrega un TODO list.
- Se actualiza la template del xmi2code.
- Se ordenan bastante los objetos principales, dando lugar a nuevos objetos
más abstractos.
- Nuevo objeto AI_DBObject que implementa métodos generales de ABM.
- AI_DBObject (y sus subclases) usan archivos de configuración .ini para
guardar los datos sobre la base de datos.
- Nuevo objeto AI_DBTreeObject que hereda de AI_DBObject. Implementa métodos
para obtener hijos.
- AI_Sistema ahora hereda de AI_DBObject.
- AI_GrupoSecciones y AI_Servicio ahora heredan de AI_DBTreeObject.
- Se usa el nuevo metodo addMenuVertical() de Marco.
- Se crea una nueva clase HTML_Error (hay que moverla a MECONlib).
- Se arregla el alta de sistemas.
- Se hace más amigable para el usuario el manejo de errores.
- Se implementa un primer intento de lista de íconos en AI_Form.
- Se actualiza el diagrama UML.
- Se pasan las librerias de locales a generales.
- Se eliminan el .htaccess, prepend.php, sistema.php, noticias.php,
servicios.php porque ahora todo está hecho en el index.php.
- Se hace una primera implementación de la obtencion de la lista de
sistemas del SAMURAI.
- Se arreglan BUGs.
- Se crean nuevos BUGs.
- Se crea una subclase de MECON_HTML_QuickForm que maneja todos los
formularios necesarios para AI.
- Se cambian las propiedades de los objetos del modelo para que sean igual
que en la DB.
- Casi se termina el formulario de servicios.
Se empieza a implementar la interfaz web.
- Se crea un .htaccess y prepend.php para hacer el trabajo común.
- Se crea la configuración para Marco.
- Se crean links de prueba (sólo noticias.php tiene algo de funcionalidad).
- Se borran varios README (con el del sistema basta).
- Se termina de implementar GrupoSecciones (aparentemente).
- Se eliminan las referencias para mayor compatibilidad con PHP5.
- Se agrega una clase de Error.
- Se actualiza UML y testeos.
- Se actualiza doc.
- Se hacen constructores.
- Se implementa GrupoSecciones::borrar() y GrupoSecciones::cargarHijos()
pero faltan pruebas.
- Se hace que ::cargar() acepte DB o DB_Result.
- Se crean las versiones iniciales de las clases del modelo.
- Se implementa la carga, alta y modificación de grupos de secciones.
- Se hace una prueba para los grupos de secciones.
- Se actualiza el diagrama UML.
- Se corrige la template del xmi2code.
- Se agrega una regla al Makefile para 'limpiar' los backups del código
generado.