import django
from django.dispatch import dispatcher
from django.db.models import signals
from django.utils.functional import curry
from django.contrib.auth.models import Group
import pycon.sponsorship.models as sponsorship_app

groups = ['Sponsors']
contact_types = [
    'Primary',
    'Billing',
    'Media',
    'CompReg',
    'Other',
]


def create_groups_and_contact_types(app, created_models, verbosity, **kwdargs):
    global groups, contact_types
    from django.contrib.contenttypes.models import ContentType
    from django.contrib.auth.models import Group
    for group in groups:
        group, is_new = Group.objects.get_or_create(name=group)
        if is_new: group.save()
    for ct_name in contact_types:
        ct, is_new = app.ContactType.objects.get_or_create(name=ct_name)
        if is_new: ct.save()


dispatcher.connect(#curry(create_groups_and_contact_types, groups=data),
                   create_groups_and_contact_types,
                   sender=sponsorship_app,
                   signal=signals.post_syncdb)
