Skip to content

Mensajería: añadir papelera, restaurar y eliminación definitiva; normalizar roles#3

Open
mazzuca17 wants to merge 1 commit intodevelopfrom
codex/desarrollar-modulos-para-mensajeria
Open

Mensajería: añadir papelera, restaurar y eliminación definitiva; normalizar roles#3
mazzuca17 wants to merge 1 commit intodevelopfrom
codex/desarrollar-modulos-para-mensajeria

Conversation

@mazzuca17
Copy link
Owner

Motivation

  • Añadir soporte de flujo completo de mensajería para el destinatario: ver papelera, mover a papelera (soft-delete por destinatario), restaurar y eliminar definitivamente el vínculo del mensaje.
  • Evitar inconsistencias al seleccionar destinatarios por rol y restringir envíos al mismo colegio.

Description

  • Agregadas rutas nuevas en routes/web.php para mensajes.papelera (GET /mensajes/papelera), restaurar (PATCH /mensajes/{id}/restore) y eliminación definitiva (DELETE /mensajes/{id}/force-delete).
  • Implementados en EmailController los métodos trash(), destroy() (mover a papelera por emails_recipients), restore() y forceDelete() y se ajustó show() para ignorar mensajes borrados por el destinatario.
  • Mejorada la selección de destinatarios con getRecipients() para limitar al school_id del usuario y añadida normalizeRole() para mapear variantes (e.g. ProfesorDocente) antes de filtrar por roles.
  • Actualizadas vistas: añadido enlace a Papelera en resources/views/messages/options.blade.php, corregida la vista de creación resources/views/messages/create.blade.php para usar role:Docente, y adaptada resources/views/messages/trash.blade.php para consumir emails_recipients con relaciones email->sender/email->attachments y paginación.

Testing

  • Ejecutado php -l app/Http/Controllers/EmailController.php y php -l routes/web.php, ambos devolveron sin errores de sintaxis (éxito).
  • Intentado php artisan route:list --name=mensajes pero no pudo ejecutarse en este entorno por falta de dependencias (vendor/autoload.php), por lo que la verificación dinámica de rutas no se realizó (fallido por entorno, no por código).

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