47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
import os
|
|
import django
|
|
|
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
|
|
django.setup()
|
|
|
|
from django.contrib.auth.models import User, Group
|
|
from expenses.models import UserProfile
|
|
|
|
# Limpiar grupos anteriores si existen
|
|
Group.objects.all().delete()
|
|
|
|
# Roles: Administrador, Administrador Finanzas, Director de Proyecto
|
|
admin_group, _ = Group.objects.get_or_create(name='Administrador')
|
|
finanzas_group, _ = Group.objects.get_or_create(name='Administrador Finanzas')
|
|
director_group, _ = Group.objects.get_or_create(name='Director de Proyecto')
|
|
|
|
# Create test users
|
|
users_to_create = [
|
|
('admin', 'admin', admin_group, True),
|
|
('finanzas', 'finanzas123', finanzas_group, False),
|
|
('miguel_contreras', 'miguel123', director_group, False),
|
|
('ginevra_ortega', 'ginevra123', admin_group, True),
|
|
]
|
|
|
|
for username, password, group, is_staff in users_to_create:
|
|
user, created = User.objects.get_or_create(username=username)
|
|
user.is_staff = is_staff
|
|
user.is_superuser = is_staff
|
|
user.set_password(password)
|
|
user.save()
|
|
|
|
user.groups.clear()
|
|
user.groups.add(group)
|
|
|
|
if created:
|
|
print(f"Created user: {username} with role {group.name}")
|
|
else:
|
|
print(f"Updated user: {username} with role {group.name}")
|
|
|
|
UserProfile.objects.get_or_create(user=user, defaults={
|
|
'description': f'Perfil corporativo de {username} ({group.name})',
|
|
'job_title': group.name
|
|
})
|
|
|
|
print("Roles y usuarios EFINTEL creados exitosamente.")
|