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):