diff --git a/static/styles/portico/portico-signin.scss b/static/styles/portico/portico-signin.scss
index bfc81133d2..cbcc1338be 100644
--- a/static/styles/portico/portico-signin.scss
+++ b/static/styles/portico/portico-signin.scss
@@ -506,6 +506,12 @@ html {
.inline-block {
text-align: left;
}
+
+ .contact-admin p.invite-hint {
+ font-size: 1.3rem;
+ margin-top: 0.8rem;
+ text-align: center;
+ }
}
#login_form {
diff --git a/templates/zerver/login.html b/templates/zerver/login.html
index 761dfdbd61..3269d65a41 100644
--- a/templates/zerver/login.html
+++ b/templates/zerver/login.html
@@ -131,6 +131,12 @@ page can be easily identified in it's respective JavaScript file. -->
{% endif %}
+
+ {% if realm_invite_required %}
+
+ {% endif %}
diff --git a/zerver/tests/test_signup.py b/zerver/tests/test_signup.py
index 6541ca18f2..00b81b5329 100644
--- a/zerver/tests/test_signup.py
+++ b/zerver/tests/test_signup.py
@@ -3956,6 +3956,16 @@ class TestLoginPage(ZulipTestCase):
result = self.client_get("/en/login/")
self.assertEqual(result.status_code, 200)
+ def test_login_page_registration_hint(self) -> None:
+ response = self.client_get("/login/")
+ self.assert_not_in_success_response(["Don't have an account yet? You need to be invited to join this organization."], response)
+
+ realm = get_realm("zulip")
+ realm.invite_required = True
+ realm.save(update_fields=["invite_required"])
+ response = self.client_get("/login/")
+ self.assert_in_success_response(["Don't have an account yet? You need to be invited to join this organization."], response)
+
class TestFindMyTeam(ZulipTestCase):
def test_template(self) -> None:
result = self.client_get('/accounts/find/')