diff --git a/users/backends.py b/users/backends.py index c45d5d2..8fd6081 100644 --- a/users/backends.py +++ b/users/backends.py @@ -27,7 +27,11 @@ class EmailVerifiedApprovedBackend(ModelBackend): if user is None: return None - # Check email verification + # Superusers bypass email verification and approval checks + if user.is_superuser: + return user + + # Check email verification for regular users if not user.email_verified: # Store reason for failed login (for web UI) if request: @@ -35,7 +39,7 @@ class EmailVerifiedApprovedBackend(ModelBackend): request.session['login_email'] = user.email return None - # Check admin approval + # Check admin approval for regular users if not user.is_approved: if request: request.session['login_error'] = 'not_approved'