Improve code readability with boolean expressions and better control flow

This commit is contained in:
pacnpal
2024-11-13 15:50:38 +00:00
parent 1c03e4acb8
commit be07a17460

View File

@@ -47,10 +47,7 @@ class CustomLoginView(TurnstileMixin, LoginView):
return self.form_invalid(form)
response = super().form_valid(form)
if getattr(self.request, 'htmx', False):
return HttpResponseClientRefresh()
return response
return HttpResponseClientRefresh() if getattr(self.request, 'htmx', False) else response
def form_invalid(self, form):
if getattr(self.request, 'htmx', False):
@@ -79,10 +76,7 @@ class CustomSignupView(TurnstileMixin, SignupView):
return self.form_invalid(form)
response = super().form_valid(form)
if getattr(self.request, 'htmx', False):
return HttpResponseClientRefresh()
return response
return HttpResponseClientRefresh() if getattr(self.request, 'htmx', False) else response
def form_invalid(self, form):
if getattr(self.request, 'htmx', False):
@@ -114,7 +108,6 @@ def handle_social_login(request: HttpRequest, email: str) -> HttpResponse:
login(request, sociallogin.user)
del request.session['socialaccount_sociallogin']
messages.success(request, 'Successfully logged in')
return redirect('/')
return redirect('/')
def email_required(request: HttpRequest) -> HttpResponse:
@@ -196,15 +189,12 @@ class SettingsView(LoginRequiredMixin, TemplateView):
def _validate_password(self, password: str) -> bool:
"""Validate password meets requirements."""
if len(password) < 8:
return False
if not re.search(r'[A-Z]', password):
return False
if not re.search(r'[a-z]', password):
return False
if not re.search(r'[0-9]', password):
return False
return True
return (
len(password) >= 8 and
bool(re.search(r'[A-Z]', password)) and
bool(re.search(r'[a-z]', password)) and
bool(re.search(r'[0-9]', password))
)
def _send_password_change_confirmation(self, request: HttpRequest, user: User) -> None:
"""Send password change confirmation email."""
@@ -245,19 +235,16 @@ class SettingsView(LoginRequiredMixin, TemplateView):
user.set_password(new_password)
user.save()
# Send confirmation email
self._send_password_change_confirmation(request, user)
messages.success(request, 'Password changed successfully. Please check your email for confirmation.')
return HttpResponseRedirect(reverse('account_login'))
def _handle_email_change(self, request: HttpRequest) -> None:
if not (new_email := request.POST.get('new_email')):
if new_email := request.POST.get('new_email'):
self._send_email_verification(request, new_email)
messages.success(request, 'Verification email sent to your new email address')
else:
messages.error(request, 'New email is required')
return
self._send_email_verification(request, new_email)
messages.success(request, 'Verification email sent to your new email address')
def _send_email_verification(self, request: HttpRequest, new_email: str) -> None:
user = cast(User, request.user)