84 Dashboard del Usuario en el Sistema con LARAVEL(PHP-MySql) FullStack
Duración: 15 minDescripción
👤⚙️ Lección 84: Configuración y Dashboard del Usuario Normal
Esta lección se enfoca en corregir un error crítico de asignación de roles al momento de la creación de usuarios y en configurar la vista principal (el dashboard) para el rol de usuario normal, preparándolo para el proceso de reserva de citas.
1. 🛑 Corrección de Asignación de Roles
Se resuelve un problema clave: los usuarios creados después del seeding (como secretarias o usuarios registrados) no tenían un rol asignado, lo que resultaba en un dashboard sin opciones de menú.
- Asignación de Rol por Defecto: Se modifica el código del controlador de registro (RegisterController) para que, inmediatamente después de crear un nuevo usuario desde la vista pública, se le asigne automáticamente el rol usuario [04:02].
- Asignación en Controladores de Administración: Se añade la lógica de asignación de roles a otros controladores de creación (como el de Secretaria y Doctor), asegurando que cada nuevo registro obtenga su rol correspondiente, incluso si es creado por el administrador [00:04:36 - 00:05:27].
2. 🖥️ Diseño del Dashboard para el Usuario
El dashboard del usuario (/admin) se personaliza para mostrar dos áreas principales, ambas basadas en la consulta de consultorios (ya que el usuario no tiene permisos para ver o modificar otras opciones).
- Integración de Consultorios: Se consulta el modelo Consultorio en el controlador principal (AdminController) y se pasan los datos a la vista index.blade.php para que el usuario pueda interactuar con el calendario [09:47].
- Visualizador de Horarios (Público): Se integra la lógica del calendario de atención de doctores, la misma que se ve en la página pública, para que el usuario pueda consultar los horarios disponibles [10:47].
- Corrección de Ruta AJAX: Se asegura que el script de AJAX en esta vista use la ruta pública de carga de datos (/cargar-datos-consultorio/{id}) y no la ruta protegida por el middleware de permisos [11:55].
3. 🗓️ Preparación para la Reserva de Citas
Se añade una segunda sección al dashboard que servirá como el módulo de interacción para agendar citas.
- Nuevo Panel: Se crea un segundo panel en la vista (index.blade.php), titulado "Calendario de Reserva de Citas Médicas" [13:13].
- Propósito: Este espacio está destinado a la implementación de la librería FullCalendar en el próximo capítulo, donde el usuario podrá seleccionar un consultorio, ver la disponibilidad real (teniendo en cuenta las citas ya reservadas) y proceder a agendar su propia cita [14:01].
Lecciones
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️