feat(abm): abm completo de ciclos lectivos, aulas y reservas con proteccion de integridad y pruebas automatizadas
This commit is contained in:
+12
-6
@@ -140,22 +140,28 @@ Fase 6: Despliegue Producción e Infraest.[███████░░░░░
|
||||
|
||||
---
|
||||
|
||||
### Fase 5.1: Bedelía UX, ABMs y Purga Segura de Datos 🏛️ ⚡ ✅ *(100% Completado)*
|
||||
* **Objetivo:** Optimizar de punta a punta la experiencia de usuario de Bedelía, dotar de ABMs completos a las entidades académicas y asegurar la purga de datos sin comprometer identidades ni claves foráneas.
|
||||
### Fase 5.1: Bedelía UX, Cobertura Integral de ABMs y Purga Segura de Datos 🏛️ ⚡ ✅ *(100% Completado)*
|
||||
* **Objetivo:** Optimizar de punta a punta la experiencia de usuario de Bedelía, dotar de ABMs completos a todas las entidades de Espacios, Académica y Reservas, y asegurar la purga de datos sin comprometer identidades ni claves foráneas.
|
||||
* **Entregables:**
|
||||
1. **Circuito Ágil de Bedelía:**
|
||||
- [x] Flujo de asignación ágil: de lista de comisiones (`/admin/commissions_list`) a reserva de aula (`/schedule/add_reservation?commission_id=...`) con 1 clic.
|
||||
- [x] Sincronización en cascada de selectores (Edificio -> Piso -> Aula) con detección de modalidad física/virtual y aforo.
|
||||
- [x] Conexión de reservas con comisiones activas en vivo vía API REST desacoplada (fin de mocks estáticos).
|
||||
- [x] Creación de aulas con vinculación consistente de sede y tipología.
|
||||
2. **ABMs Académicos Completos:**
|
||||
- [x] ABM de Carreras (`/admin/careers_list`) con protección ante asignaturas existentes (soft-deactivation).
|
||||
- [x] ABM de Asignaturas (`/admin/subjects_list`) con vinculación por carrera y mitigación de desvinculación forzada.
|
||||
- [x] ABM de Comisiones (`/admin/commissions_list`) con asignación directa de profesores, turnos y cupos.
|
||||
2. **Cobertura ABM 100% (Espacios, Académica y Reservas):**
|
||||
- [x] **Ciclos Lectivos (`AcademicTerm`):** ABM completo (Crear, Editar, Activar como Ciclo Actual, Toggle Activo/Inactivo rápido y Borrado protegido con soft-deactivate ante comisiones asociadas). Endpoints `/api/v1/admin/academic-terms` y vistas en `/admin/academic_terms`.
|
||||
- [x] **Aulas y Espacios Físicos/Virtuales (`Classroom`):** ABM completo (Alta, Edición de aforo y piso, Toggle rápido activo/inactivo vía `/api/v1/classrooms/<id>/toggle`, y Eliminación con validación de reservas previas). Botones y modales en lista y detalle.
|
||||
- [x] **Sedes y Edificios (`Building`):** ABM completo (Crear, Editar, Toggle y Eliminar sedes físicas e institucionales).
|
||||
- [x] **Carreras (`Career`):** ABM completo (`/admin/careers_list`) con protección ante asignaturas existentes (soft-deactivation).
|
||||
- [x] **Asignaturas (`Subject`):** ABM completo (`/admin/subjects_list`) con vinculación por carrera y mitigación de desvinculación forzada.
|
||||
- [x] **Comisiones (`Commission`):** ABM completo (`/admin/commissions_list`) con asignación directa de profesores, turnos y cupos.
|
||||
- [x] **Reservas (`Reservation`):** ABM completo (Creación, Edición, Confirmación, Cancelación lógica y Eliminación definitiva / Hard Delete con `/api/v1/reservations/<id>?hard=true`).
|
||||
3. **Purga Segura de Datos Académicos:**
|
||||
- [x] Modal de confirmación interactivo en frontend (`#purgeConfirmModal`) con feedback visual y prevención de borrado accidental.
|
||||
- [x] Secuencia de purga backend en estricto orden de integridad referencial (respetando Foreign Keys).
|
||||
- [x] Preservación garantizada de usuarios y roles RBAC ante reseteos de datos de cursada.
|
||||
4. **Configuración y Personalización UI:**
|
||||
- [x] Panel de configuración global (`/admin/settings`) con opción para habilitar o deshabilitar el saludo superior y banner de rol en el dashboard.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user