diff --git a/zerver/tests/test_docs.py b/zerver/tests/test_docs.py
index 47773399d5..76abc65c5b 100644
--- a/zerver/tests/test_docs.py
+++ b/zerver/tests/test_docs.py
@@ -153,10 +153,10 @@ class IntegrationTest(TestCase):
self.assertEqual(context["api_url"], "http://mysubdomain.testserver/api")
self.assertTrue(context["html_settings_links"])
- def test_integration_view_html_settings_links(self) -> None:
- context = dict()
- context['html_settings_links'] = False
- add_integrations_context(context)
+ def test_html_settings_links(self) -> None:
+ context = dict() # type: Dict[str, Any]
+ with self.settings(ROOT_DOMAIN_LANDING_PAGE=True):
+ add_api_uri_context(context, HostRequestMock())
self.assertEqual(
context['settings_html'],
'Zulip settings page')
@@ -165,8 +165,17 @@ class IntegrationTest(TestCase):
'streams page')
context = dict()
- context['html_settings_links'] = True
- add_integrations_context(context)
+ with self.settings(ROOT_DOMAIN_LANDING_PAGE=True):
+ add_api_uri_context(context, HostRequestMock(host="mysubdomain.testserver"))
+ self.assertEqual(
+ context['settings_html'],
+ 'Zulip settings page')
+ self.assertEqual(
+ context['subscriptions_html'],
+ 'streams page')
+
+ context = dict()
+ add_api_uri_context(context, HostRequestMock())
self.assertEqual(
context['settings_html'],
'Zulip settings page')
diff --git a/zerver/views/integrations.py b/zerver/views/integrations.py
index 2cb12c430b..37cf6294a1 100644
--- a/zerver/views/integrations.py
+++ b/zerver/views/integrations.py
@@ -34,7 +34,16 @@ def add_api_uri_context(context: Dict[str, Any], request: HttpRequest) -> None:
context['external_uri_scheme'] = settings.EXTERNAL_URI_SCHEME
context['api_url'] = api_url
context['api_url_scheme_relative'] = api_url_scheme_relative
+
context["html_settings_links"] = html_settings_links
+ if html_settings_links:
+ settings_html = 'Zulip settings page'
+ subscriptions_html = 'streams page'
+ else:
+ settings_html = 'Zulip settings page'
+ subscriptions_html = 'streams page'
+ context['settings_html'] = settings_html
+ context['subscriptions_html'] = subscriptions_html
class ApiURLView(TemplateView):
def get_context_data(self, **kwargs: Any) -> Dict[str, str]:
@@ -102,30 +111,6 @@ def add_integrations_context(context: Dict[str, Any]) -> None:
context['integrations_dict'] = alphabetical_sorted_integration
context['integrations_count_display'] = integrations_count_display
- if "html_settings_links" in context and context["html_settings_links"]:
- settings_html = 'Zulip settings page'
- subscriptions_html = 'streams page'
- else:
- settings_html = 'Zulip settings page'
- subscriptions_html = 'streams page'
-
- context['settings_html'] = settings_html
- context['subscriptions_html'] = subscriptions_html
-
-
-def add_context_for_single_integration(context: Dict[str, Any], name: str, request: HttpRequest) -> None:
- add_api_uri_context(context, request)
-
- if "html_settings_links" in context and context["html_settings_links"]:
- settings_html = 'Zulip settings page'
- subscriptions_html = 'streams page'
- else:
- settings_html = 'Zulip settings page'
- subscriptions_html = 'streams page'
-
- context['settings_html'] = settings_html
- context['subscriptions_html'] = subscriptions_html
-
class IntegrationView(ApiURLView):
template_name = 'zerver/integrations/index.html'
@@ -144,7 +129,7 @@ def integration_doc(request: HttpRequest, integration_name: str=REQ(default=None
return HttpResponseNotFound()
context = {} # type: Dict[str, Any]
- add_context_for_single_integration(context, integration_name, request)
+ add_api_uri_context(context, request)
context['integration_name'] = integration.name
context['integration_display_name'] = integration.display_name