diff --git a/apps/account/management/commands/add_affilations.py b/apps/account/management/commands/add_affilations.py index 591e676d..c59aaafe 100644 --- a/apps/account/management/commands/add_affilations.py +++ b/apps/account/management/commands/add_affilations.py @@ -70,10 +70,12 @@ class Command(BaseCommand): role_choice = getattr(Role, old_role.new_role) sites = SiteSettings.objects.filter(old_id=s.site_id) for site in sites: - role = Role.objects.filter(site=site, role=role_choice) + data = {'site': site, 'role': role_choice} + + role = Role.objects.filter(**data) if not role.exists(): objects.append( - Role(site=site, role=role_choice) + Role(**data) ) Role.objects.bulk_create(objects) @@ -81,7 +83,7 @@ class Command(BaseCommand): def update_site_role(self): roles = Role.objects.filter(country__isnull=True).select_related('site')\ - .filter(site__id__isnull=False).select_for_update() + .filter(site__id__isnull=False).select_for_update() with transaction.atomic(): for role in tqdm(roles, desc='Update role country'): role.country = role.site.country @@ -114,8 +116,7 @@ class Command(BaseCommand): users = User.objects.filter(old_id=s.account_id) for user in users: for role in roles: - user_role = UserRole.objects.get_or_create(user=user, - role=role) + UserRole.objects.get_or_create(user=user, role=role, state=UserRole.VALIDATED) self.stdout.write(self.style.WARNING(f'Added users roles.')) def superuser_role_sql(self):