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

class StaffConfig(AppConfig):
    name = 'staff'
    def ready(self):
        post_migrate.connect(do_init_data, sender=self)

def do_init_data(sender, **kwargs):
    init_category()

def init_category():
    """
        :return:None
    """
    try:
        from .models import TypeListModel as ls
        if ls.objects.filter(openid__iexact='init_data').exists():
            if ls.objects.filter(openid__iexact='init_data').count() != 7:
                ls.objects.filter(openid__iexact='init_data').delete()
                init_data = [
                    ls(id=1, openid='init_data', staff_type='Manager', creater='GreaterWMS'),
                    ls(id=2, openid='init_data', staff_type='Supplier', creater='GreaterWMS'),
                    ls(id=3, openid='init_data', staff_type='Customer', creater='GreaterWMS'),
                    ls(id=4, openid='init_data', staff_type='Supervisor', creater='GreaterWMS'),
                    ls(id=5, openid='init_data', staff_type='Inbound', creater='GreaterWMS'),
                    ls(id=6, openid='init_data', staff_type='Outbound', creater='GreaterWMS'),
                    ls(id=7, openid='init_data', staff_type='StockControl', creater='GreaterWMS')
                ]
                ls.objects.bulk_create(init_data, batch_size=100)
        else:
            init_data = [
                ls(id=1, openid='init_data', staff_type='Manager', creater='GreaterWMS'),
                ls(id=2, openid='init_data', staff_type='Supplier', creater='GreaterWMS'),
                ls(id=3, openid='init_data', staff_type='Customer', creater='GreaterWMS'),
                ls(id=4, openid='init_data', staff_type='Supervisor', creater='GreaterWMS'),
                ls(id=5, openid='init_data', staff_type='Inbound', creater='GreaterWMS'),
                ls(id=6, openid='init_data', staff_type='Outbound', creater='GreaterWMS'),
                ls(id=7, openid='init_data', staff_type='StockControl', creater='GreaterWMS')
            ]
            ls.objects.bulk_create(init_data, batch_size=100)
    except:
        pass