Skip to content

Implementa CRUD y perfil completo para módulo Materias (carga masiva, actividades y contenidos)#6

Open
mazzuca17 wants to merge 1 commit intodevelopfrom
codex/implementar-funcionalidades-para-materia
Open

Implementa CRUD y perfil completo para módulo Materias (carga masiva, actividades y contenidos)#6
mazzuca17 wants to merge 1 commit intodevelopfrom
codex/implementar-funcionalidades-para-materia

Conversation

@mazzuca17
Copy link
Owner

Motivation

  • Se implementan las funcionalidades solicitadas para el usuario con rol "colegio": crear, editar, eliminar, listado en DataTable, carga masiva y un perfil de materia enriquecido con actividades, contenidos y métricas académicas.
  • Evitar inconsistencias de horarios y duplicados al crear/editar materias para asegurar integridad en la carga de horarios y asignación de docentes.

Description

  • Reescribí MateriasController para incluir creación con validación avanzada, edición (showFormEdit / saveEdit), eliminación (destroy), carga masiva (bulkStore), y endpoints para storeActivity y storeContent, además de cálculo de métricas para el perfil (termAverages, approvalRate, studentGrades).
  • Añadí modelos nuevos SubjectActivities y SubjectContents con sus migraciones create_subject_activities_table y create_subject_contents_table, y habilité almacenamiento de archivos para contenidos en storeContent.
  • Actualicé vistas para cubrir el flujo pedido: resources/views/materias/index.blade.php (DataTable, carga CSV y eliminación vía AJAX), resources/views/materias/edit.blade.php (formulario de edición) y resources/views/materias/detail.blade.php (perfil con datos, actividades, contenidos, promedios y eventos).
  • Ajusté modelos y rutas: corregí relaciones en app/Models/MateriasProf.php, actualicé app/Models/Notas.php (table y fillable), y añadí rutas para destroy, bulk_store, activities.store y contents.store en routes/web.php.
  • Implementé comprobación de superposición de horarios y uso de transacciones en creación/edición para mantener consistencia de datos, además de validaciones de request centralizadas (validateData y validateSchedulesAgainstCourse).

Testing

  • Ejecuté validaciones de sintaxis PHP con php -l sobre los controladores, modelos, vistas, migraciones y rutas y todos pasaron sin errores.
  • Intenté ejecutar el suite con php artisan test pero falló por limitación del entorno local (falta vendor/autoload.php y dependencias de Composer).
  • Ejecuté un script automatizado de Playwright para cargar la UI y generar una captura (artifacts/.../materias-module.png) como verificación visual del módulo y se completó correctamente.

Codex Task

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant