From ebfcd299a1cc9d08cb3532bc5ee9348a4e705d39 Mon Sep 17 00:00:00 2001 From: pacnpal <183241239+pacnpal@users.noreply.github.com> Date: Wed, 13 Nov 2024 15:50:38 +0000 Subject: [PATCH] Improve code readability with boolean expressions and better control flow --- accounts/views.py | 37 ++++++++++++------------------------- 1 file changed, 12 insertions(+), 25 deletions(-) diff --git a/accounts/views.py b/accounts/views.py index dbc2145c..ec0d94c1 100644 --- a/accounts/views.py +++ b/accounts/views.py @@ -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)