diff --git a/templates/zerver/login.html b/templates/zerver/login.html index 2b6473fa93..1ec2ca50de 100644 --- a/templates/zerver/login.html +++ b/templates/zerver/login.html @@ -92,7 +92,7 @@ common.autofocus('#id_username'); {% endif %} - {% if email %} + {% if already_registered %}
{{ _("You've already registered with this email address. Please sign in below.") }}
diff --git a/zerver/tests/test_signup.py b/zerver/tests/test_signup.py index 9e1c6ba9ba..a50cc983de 100644 --- a/zerver/tests/test_signup.py +++ b/zerver/tests/test_signup.py @@ -1135,6 +1135,8 @@ class UserSignUpTest(ZulipTestCase): result = self.client_post('/accounts/home/', {'email': email}) self.assertEqual(result.status_code, 302) self.assertIn('login', result['Location']) + result = self.client_get(result.url) + self.assert_in_response("You've already registered", result) def test_signup_invalid_name(self): # type: () -> None diff --git a/zerver/views/auth.py b/zerver/views/auth.py index 0c77cf8a63..e4eaa6a27e 100644 --- a/zerver/views/auth.py +++ b/zerver/views/auth.py @@ -495,6 +495,12 @@ def login_page(request, **kwargs): except KeyError: pass + try: + already_registered = request.GET['already_registered'] + template_response.context_data['already_registered'] = already_registered + except KeyError: + pass + try: template_response.context_data['subdomain'] = request.GET['subdomain'] template_response.context_data['wrong_subdomain_error'] = WRONG_SUBDOMAIN_ERROR diff --git a/zerver/views/registration.py b/zerver/views/registration.py index 7aa7a73580..18bf0dcdba 100644 --- a/zerver/views/registration.py +++ b/zerver/views/registration.py @@ -285,7 +285,8 @@ def send_registration_completion_email(email, request, realm_creation=False): def redirect_to_email_login_url(email): # type: (str) -> HttpResponseRedirect login_url = reverse('django.contrib.auth.views.login') - redirect_url = login_url + '?email=' + urllib.parse.quote_plus(email) + email = urllib.parse.quote_plus(email) + redirect_url = login_url + '?already_registered=' + email return HttpResponseRedirect(redirect_url) def create_realm(request, creation_key=None):