Further normalization to ensure all related code paths use similar code. Signed-off-by: Stephen Finucane <step...@that.guru> --- patchwork/templates/patchwork/optin-request.html | 2 +- patchwork/templates/patchwork/optout-request.html | 2 +- patchwork/tests/test_mail_settings.py | 8 ++++---- patchwork/views/mail.py | 7 +++---- 4 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/patchwork/templates/patchwork/optin-request.html b/patchwork/templates/patchwork/optin-request.html index dfc104e8..90963e65 100644 --- a/patchwork/templates/patchwork/optin-request.html +++ b/patchwork/templates/patchwork/optin-request.html @@ -4,7 +4,7 @@ {% block heading %}Opt-in{% endblock %} {% block body %} -{% if email_sent %} +{% if confirmation %} <p><strong>Opt-in confirmation email sent</strong></p> <p>An opt-in confirmation mail has been sent to <strong>{{confirmation.email}}</strong>, containing a link. Please click on diff --git a/patchwork/templates/patchwork/optout-request.html b/patchwork/templates/patchwork/optout-request.html index eae05e62..659af773 100644 --- a/patchwork/templates/patchwork/optout-request.html +++ b/patchwork/templates/patchwork/optout-request.html @@ -4,7 +4,7 @@ {% block heading %}Opt-out{% endblock %} {% block body %} -{% if email_sent %} +{% if confirmation %} <p><strong>Opt-out confirmation email sent</strong></p> <p>An opt-out confirmation mail has been sent to <strong>{{confirmation.email}}</strong>, containing a link. Please click on diff --git a/patchwork/tests/test_mail_settings.py b/patchwork/tests/test_mail_settings.py index 70e135d5..8844212e 100644 --- a/patchwork/tests/test_mail_settings.py +++ b/patchwork/tests/test_mail_settings.py @@ -108,7 +108,7 @@ class OptoutRequestTest(TestCase): self.assertFormError(response, 'form', 'email', 'This field is required.') self.assertTrue(response.context['error']) - self.assertNotIn('email_sent', response.context) + self.assertNotIn('confirmation', response.context) self.assertEqual(len(mail.outbox), 0) def test_post_non_email(self): @@ -116,7 +116,7 @@ class OptoutRequestTest(TestCase): self.assertEqual(response.status_code, 200) self.assertFormError(response, 'form', 'email', error_strings['email']) self.assertTrue(response.context['error']) - self.assertNotIn('email_sent', response.context) + self.assertNotIn('confirmation', response.context) self.assertEqual(len(mail.outbox), 0) @@ -189,7 +189,7 @@ class OptinRequestTest(TestCase): self.assertFormError(response, 'form', 'email', 'This field is required.') self.assertTrue(response.context['error']) - self.assertNotIn('email_sent', response.context) + self.assertNotIn('confirmation', response.context) self.assertEqual(len(mail.outbox), 0) def test_post_non_email(self): @@ -197,7 +197,7 @@ class OptinRequestTest(TestCase): self.assertEqual(response.status_code, 200) self.assertFormError(response, 'form', 'email', error_strings['email']) self.assertTrue(response.context['error']) - self.assertNotIn('email_sent', response.context) + self.assertNotIn('confirmation', response.context) self.assertEqual(len(mail.outbox), 0) diff --git a/patchwork/views/mail.py b/patchwork/views/mail.py index 1ce37736..6a3c1c25 100644 --- a/patchwork/views/mail.py +++ b/patchwork/views/mail.py @@ -97,8 +97,8 @@ def _optinout(request, action): return render(request, html_template, context) email = form.cleaned_data['email'] - if action == 'optin' and \ - EmailOptout.objects.filter(email=email).count() == 0: + if action == 'optin' and EmailOptout.objects.filter( + email=email).count() == 0: context['error'] = ("The email address %s is not on the patchwork " "opt-out list, so you don't need to opt back in" % email) @@ -115,9 +115,8 @@ def _optinout(request, action): try: send_mail(subject, message, conf_settings.DEFAULT_FROM_EMAIL, [email]) - # TODO(stephenfin): This is unnecessary and can be removed - context['email_sent'] = True except smtplib.SMTPException: + context['confirmation'] = None context['error'] = ('An error occurred during confirmation . ' 'Please try again later.') context['admins'] = conf_settings.ADMINS -- 2.17.1 _______________________________________________ Patchwork mailing list Patchwork@lists.ozlabs.org https://lists.ozlabs.org/listinfo/patchwork