from django.contrib.auth.models import User
from vacations.models import Company, CostCenter, EmployeeProfile
from django.utils import timezone

# 1. Criar ou obter empresa
empresa, created = Company.objects.get_or_create(
    name="Kuttner do Brasil",
    defaults={
        'cnpj': '11.222.333/0001-44',
        'address': 'Rua Industrial, 1000 - SP',
        'is_active': True
    }
)

# 2. Criar ou obter centro de custo
centro, created = CostCenter.objects.get_or_create(
    company=empresa,
    code='5150',
    defaults={
        'name': 'Centro de Custo 5150',
        'is_active': True
    }
)

# 3. Criar usuário
username = 'administrador'
password = 'LA4T7AYx2025'
email = 'administrador@kuttner.com.br'

user, created = User.objects.get_or_create(username=username)
if created:
    user.set_password(password)
    user.first_name = 'Administrador'
    user.last_name = 'RH'
    user.email = email
    user.is_active = True
    user.save()
    print(f'✅ Usuário {username} criado com sucesso.')
else:
    print(f'ℹ️ Usuário {username} já existia.')

# 4. Criar perfil de gestor
if not hasattr(user, 'profile'):
    EmployeeProfile.objects.create(
        user=user,
        role='admin',
        company=empresa,
        cost_center=centro,
        employee_id='ADM001',
        hire_date=timezone.now().date(),
        is_active=True
    )
    print('✅ Perfil de administrador vinculado com sucesso.')
else:
    print('ℹ️ O perfil já existe e não foi recriado.')
