From 696c7875d7c16a0e6ec4ddf5a783e0d7aed526c9 Mon Sep 17 00:00:00 2001 From: Becky Smith Date: Mon, 1 Jan 2024 15:15:39 +0000 Subject: [PATCH] Another attempt at fixing the disclaimer issues --- accounts/views.py | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/accounts/views.py b/accounts/views.py index 67a1862e..ffe396c8 100644 --- a/accounts/views.py +++ b/accounts/views.py @@ -164,25 +164,17 @@ def form_valid(self, form): form = DisclaimerForm(form.data, user=self.request.user) return render(self.request, self.template_name, {'form':form}) - if self.request.user.check_password(password): - disclaimer.user = self.request.user - try: - disclaimer.save() - except ValidationError as error: - if "Active disclaimer already exists" in str(error): - messages.info(self.request, f"You already have a completed disclaimer") - cache.set(active_disclaimer_cache_key(disclaimer.user), True, timeout=600) - return HttpResponseRedirect(reverse("profile:profile")) - raise - else: + if not self.request.user.check_password(password): form = DisclaimerForm(form.data, user=self.request.user) return render(self.request, self.template_name, {'form':form, 'password_error': 'Password is incorrect'}) - - return super(DisclaimerCreateView, self).form_valid(form) + disclaimer.user = self.request.user + disclaimer.save() + return HttpResponseRedirect(self.get_success_url()) def get_success_url(self): return reverse('profile:profile') + class NonRegisteredDisclaimerCreateView(CreateView): form_class = NonRegisteredDisclaimerForm @@ -206,8 +198,8 @@ def form_valid(self, form): html_message=get_template( 'account/email/nonregistered_disclaimer_received.html').render(ctx), fail_silently=False) - - return super().form_valid(form) + disclaimer.save() + return HttpResponseRedirect(self.get_success_url()) def get_success_url(self): return reverse('nonregistered_disclaimer_submitted')