Se agrega una función para listar items de forma genérica con paginador.
Para esto hay que implementar una interfaz común de los Item. Las subclases
de Item deben tener implementado los métodos: getHeaderArray(), next(),
getTotal() y asArray().
Se hace que el gráfico entre en una página (para imprimir más fácil) y que se guarde en XML plano sin comprimir para que sea más eficiente el diff/merge.
Varias cosas:
- Se ponen prefijos admin_ en los campos de formulario.
- Se agregan más reglas de validación en javascript (check_email,
check_min_max_cant, check_iguales).
- Se traduce las reglas de validación a PHP en lib/validacion.php para poder
validar lo mismo en el cliente y en el servidor.
- Se pasa el index.php a admin.login.php y en index.php se hace un include de
éste. Así queda bien claro que el index.php es parte del módulo de
administración.
- Se agrega admin.asociarse.php que implementa parcialmente la registración de
nuevos usuarios (falta el alta real en los archivos, las pantallas y
formularios están casi listos).
- Se agrega función ok($msg) a lib/pagina.php para mostrar mensajes de
confirmación (estilo "Registración exitosa").
- Se agregan algunos métodos a Usuario necesarios para el módulo de
administración (checkAdmins() y asociar(), ambos de clase).
- Se agrega algo de lógica al login, aunque no hace nada realmente todavía.
- Se agrega una función para mostrar errores.
- Se hace que el formulario 'recuerde' al usuario si estaba mal la contraseña.
- Se agrega una pantalla de login dummy (solo chequea que los campos no sean
vacíos por javascript).
- Se agrega una lib común de javascript.
- Se agrega una lib común para dibujar la cabecera y pié de página.
- Se agregan cabeceras a los archivos con número de grupo, integrantes y autor.
- Se agrega una lib propia de módulo de admin con los formularios de este
módulo.