#!/usr/bin/env python
"""
Script pour vérifier l'enregistrement des modèles dans modeltranslation
Exécutez : python check_translation_registration.py
"""

import os
import sys
import django

# Configuration Django
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
django.setup()

from modeltranslation.translator import translator
from core.models import Service, Certification, Projet, Temoignage, Configuration


def check_model_registration():
    """Vérifie si les modèles sont enregistrés pour la traduction"""

    print("=" * 70)
    print("  VÉRIFICATION DE L'ENREGISTREMENT DES TRADUCTIONS")
    print("=" * 70)
    print()

    models_to_check = [
        ('Service', Service),
        ('Certification', Certification),
        ('Projet', Projet),
        ('Temoignage', Temoignage),
        ('Configuration', Configuration),
    ]

    all_registered = True

    for model_name, model in models_to_check:
        try:
            opts = translator.get_options_for_model(model)
            fields = opts.fields
            print(f"✅ {model_name:20} : {', '.join(fields)}")
        except Exception as e:
            print(f"❌ {model_name:20} : NON ENREGISTRÉ")
            print(f"   Erreur : {e}")
            all_registered = False

    print()
    print("=" * 70)

    if all_registered:
        print("✅ TOUS les modèles sont enregistrés pour la traduction !")
    else:
        print("❌ CERTAINS modèles ne sont PAS enregistrés !")
        print()
        print("SOLUTION :")
        print("  1. Vérifiez que core/translation.py contient tous les enregistrements")
        print("  2. Assurez-vous que translation.py est importé correctement")
        print("  3. Vérifiez que 'modeltranslation' est AVANT 'core' dans INSTALLED_APPS")

    print("=" * 70)


if __name__ == '__main__':
    check_model_registration()