from django.core.management.base import BaseCommand, CommandError from engine.vibes_auth.models import User class Command(BaseCommand): help = "Directly activate a user account (for when SMTP is not configured)" def add_arguments(self, parser): parser.add_argument("email", type=str, help="Email of the user to activate") def handle(self, *args, **options): email = options["email"] try: user = User.objects.get(email=email) except User.DoesNotExist as e: raise CommandError(f'User "{email}" does not exist.') from e if user.is_active and user.is_verified: self.stdout.write(f'User "{email}" is already active and verified.') return user.is_active = True user.is_verified = True user.save(update_fields=["is_active", "is_verified", "modified"]) self.stdout.write(self.style.SUCCESS(f'User "{email}" has been activated.'))