from django.apps import AppConfig
from django.db.models.signals import post_migrate

def create_default_event_types(sender, **kwargs):
    # On importe le modèle ici pour éviter les erreurs d'importation circulaire
    from .models import EventType
    
    default_types = [
        {'name': 'Conférence', 'color': '#FF5733'},
        {'name': 'Workshop', 'color': '#33FF57'},
        {'name': 'Webinaire', 'color': '#3357FF'},
        {'name': 'Séminaire', 'color': '#F333FF'},
        {'name': 'Soutenance', 'color': '#FF33A1'},
        {'name': 'Journée portes ouvertes', 'color': '#FFBD33'},
        {'name': 'Date limite', 'color': '#C70039'},
        {'name': 'Autre', 'color': '#808080'},
    ]

    for t in default_types:
        # get_or_create évite de créer des doublons à chaque migration
        EventType.objects.get_or_create(
            name=t['name'],
            defaults={'color': t['color']}
        )

class NewsConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    name = 'apps.news'
    verbose_name = 'Actualites'
    

    def ready(self):
        # On connecte le signal post_migrate à notre fonction
        post_migrate.connect(create_default_event_types, sender=self)