"""Seed the Education (qualification) master + its Master Data sidebar menu.

Run:  python seed_education_master.py   (idempotent)
"""
import django
import os
import sys

DEFAULTS = ["10th", "12th", "BA", "MA", "Btech", "Mtech", "MBA", "Graduate", "Post Graduate", "Diploma"]


def run():
    from apps.master_data.models import Education
    from apps.menus.models import Menu

    for i, name in enumerate(DEFAULTS):
        Education.objects.get_or_create(name=name, defaults={"sort_order": i, "is_active": True})
    print(f"Seeded {Education.objects.count()} qualifications.")

    parent = Menu.objects.filter(name="Master Data", parent__isnull=True).first()
    if not parent:
        print("WARNING: 'Master Data' parent menu not found — skipping menu.")
        return
    last = parent.children.order_by("-sort_order").first()
    item, created = Menu.objects.get_or_create(
        name="Master Education", parent=parent,
        defaults={
            "route": "/master-data/education", "icon": "fa-solid fa-graduation-cap",
            "sort_order": (last.sort_order + 1) if last else 1,
            "permission_code": "", "is_active": True, "admin_only": True,
        },
    )
    if not created:
        item.route = "/master-data/education"; item.icon = "fa-solid fa-graduation-cap"
        item.is_active = True; item.admin_only = True; item.save()
    print(f"{'Created' if created else 'Updated'} 'Master Education' menu under Master Data.")


if __name__ == "__main__":
    sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.dev")
    django.setup()
    run()
