Skip to main content

Admin-Organizer Linking Commands

Este documento describe los comandos y servicios disponibles para vincular el usuario administrador con una cuenta organizador en el sistema.

🎯 Propósito

El sistema permite vincular el usuario administrador existente (creado por el seed UsersSeed) con una cuenta organizador para que pueda gestionar eventos y acceder a funcionalidades específicas de organizadores.

🛠️ Comandos Disponibles

Comando principal para gestionar la vinculación entre admin y organizador.

Sintaxis

Acciones Disponibles

1. Link - Vincular admin con organizador
Funcionalidad:
  • Busca el usuario admin existente (a-oceanman@mail.com)
  • Crea un organizador nuevo o reutiliza uno existente
  • Asigna la primera tarifa disponible del sistema
  • Vincula el admin con el organizador
  • Muestra información detallada del proceso
2. Status - Verificar estado actual
Funcionalidad:
  • Verifica si el admin está vinculado a un organizador
  • Muestra información del organizador asociado
  • Proporciona detalles del estado de vinculación
3. Unlink - Desvincular admin del organizador
Funcionalidad:
  • Desvincula el admin del organizador actual
  • Mantiene el organizador en el sistema
  • Limpia la referencia en el usuario admin

🌱 Seeder: AdminOrganizerLinkSeed

Seeder automático para vincular admin con organizador durante la instalación.

Uso

Funcionalidad

  • Verifica el estado actual de vinculación
  • Ejecuta la vinculación si no está ya vinculado
  • Muestra mensajes informativos del proceso
  • Previene duplicaciones

🔧 Servicio: AdminOrganizerLinkService

Servicio interno que maneja toda la lógica de vinculación.

Métodos Principales

linkAdminWithOrganizer($organizerName = null)

getAdminOrganizerStatus()

unlinkAdminFromOrganizer()

📋 Requisitos Previos

1. Usuario Admin Existente

  • El usuario admin debe existir (creado por UsersSeed)
  • Email: a-oceanman@mail.com
  • Password: oceanman

2. Tarifas Disponibles

  • Debe existir al menos una tarifa en el sistema
  • Las tarifas se crean automáticamente con TarifasSeed

3. Base de Datos

  • Tabla users con campo organizador_id
  • Tabla organizadores con todos los campos requeridos
  • Tabla tarifas con al menos un registro

🔍 Verificación de Estado

Antes de Vincular

Después de Vincular

Verificar en Base de Datos

🚨 Solución de Problemas

Error: “Admin user not found”

  • Verificar que UsersSeed se haya ejecutado
  • Confirmar que existe el usuario con email a-oceanman@mail.com

Error: “No tarifas available in the system”

  • Ejecutar TarifasSeed para crear tarifas
  • Verificar que existan tarifas activas en la tabla tarifas

Error: “Field ‘tarifas_id’ doesn’t have a default value”

  • Verificar que el modelo Organizador tenga tarifas_id en $fillable
  • Confirmar que la migración de tarifas_id se haya ejecutado

Error: “Admin user is already linked”

  • El admin ya está vinculado a un organizador
  • Usar status para verificar el estado actual
  • Usar unlink si se desea cambiar la vinculación

📝 Logs y Auditoría

El servicio registra todas las operaciones en los logs de Laravel:

🔄 Flujo de Trabajo Recomendado

Instalación Inicial

  1. Ejecutar migraciones: php artisan migrate
  2. Ejecutar seeds básicos: php artisan db:seed --class=UsersSeed
  3. Ejecutar seeds de tarifas: php artisan db:seed --class=TarifasSeed
  4. Vincular admin: php artisan admin:link-organizer link

Verificación Post-Instalación

  1. Verificar estado: php artisan admin:link-organizer status
  2. Probar login con admin en el sistema
  3. Confirmar acceso a funcionalidades de organizador

Mantenimiento

  • Usar status para verificar vinculación
  • Usar unlink y link para cambiar organizador si es necesario
  • Revisar logs periódicamente para auditoría

📞 Soporte

Para problemas o dudas sobre la vinculación admin-organizador:
  1. Verificar logs en storage/logs/laravel.log
  2. Ejecutar php artisan admin:link-organizer status
  3. Revisar este documento para solución de problemas
  4. Contactar al equipo de desarrollo si persisten los problemas