mirror of
https://github.com/zulip/zulip.git
synced 2025-11-04 14:03:30 +00:00
help: Fix structure of markdown context logic.
Refactoring in this file had resulted in the logic for html_settings_link being duplicated and extra logic being needed to ensure these variables were set where they were needed. This fixes subscriptions_html not being rendered properly in the /help and /api pages, in addition to removing duplicate code.
This commit is contained in:
@@ -153,10 +153,10 @@ class IntegrationTest(TestCase):
|
|||||||
self.assertEqual(context["api_url"], "http://mysubdomain.testserver/api")
|
self.assertEqual(context["api_url"], "http://mysubdomain.testserver/api")
|
||||||
self.assertTrue(context["html_settings_links"])
|
self.assertTrue(context["html_settings_links"])
|
||||||
|
|
||||||
def test_integration_view_html_settings_links(self) -> None:
|
def test_html_settings_links(self) -> None:
|
||||||
context = dict()
|
context = dict() # type: Dict[str, Any]
|
||||||
context['html_settings_links'] = False
|
with self.settings(ROOT_DOMAIN_LANDING_PAGE=True):
|
||||||
add_integrations_context(context)
|
add_api_uri_context(context, HostRequestMock())
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
context['settings_html'],
|
context['settings_html'],
|
||||||
'Zulip settings page')
|
'Zulip settings page')
|
||||||
@@ -165,8 +165,17 @@ class IntegrationTest(TestCase):
|
|||||||
'streams page')
|
'streams page')
|
||||||
|
|
||||||
context = dict()
|
context = dict()
|
||||||
context['html_settings_links'] = True
|
with self.settings(ROOT_DOMAIN_LANDING_PAGE=True):
|
||||||
add_integrations_context(context)
|
add_api_uri_context(context, HostRequestMock(host="mysubdomain.testserver"))
|
||||||
|
self.assertEqual(
|
||||||
|
context['settings_html'],
|
||||||
|
'<a href="../../#settings">Zulip settings page</a>')
|
||||||
|
self.assertEqual(
|
||||||
|
context['subscriptions_html'],
|
||||||
|
'<a target="_blank" href="../../#streams">streams page</a>')
|
||||||
|
|
||||||
|
context = dict()
|
||||||
|
add_api_uri_context(context, HostRequestMock())
|
||||||
self.assertEqual(
|
self.assertEqual(
|
||||||
context['settings_html'],
|
context['settings_html'],
|
||||||
'<a href="../../#settings">Zulip settings page</a>')
|
'<a href="../../#settings">Zulip settings page</a>')
|
||||||
|
|||||||
@@ -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['external_uri_scheme'] = settings.EXTERNAL_URI_SCHEME
|
||||||
context['api_url'] = api_url
|
context['api_url'] = api_url
|
||||||
context['api_url_scheme_relative'] = api_url_scheme_relative
|
context['api_url_scheme_relative'] = api_url_scheme_relative
|
||||||
|
|
||||||
context["html_settings_links"] = html_settings_links
|
context["html_settings_links"] = html_settings_links
|
||||||
|
if html_settings_links:
|
||||||
|
settings_html = '<a href="../../#settings">Zulip settings page</a>'
|
||||||
|
subscriptions_html = '<a target="_blank" href="../../#streams">streams page</a>'
|
||||||
|
else:
|
||||||
|
settings_html = 'Zulip settings page'
|
||||||
|
subscriptions_html = 'streams page'
|
||||||
|
context['settings_html'] = settings_html
|
||||||
|
context['subscriptions_html'] = subscriptions_html
|
||||||
|
|
||||||
class ApiURLView(TemplateView):
|
class ApiURLView(TemplateView):
|
||||||
def get_context_data(self, **kwargs: Any) -> Dict[str, str]:
|
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_dict'] = alphabetical_sorted_integration
|
||||||
context['integrations_count_display'] = integrations_count_display
|
context['integrations_count_display'] = integrations_count_display
|
||||||
|
|
||||||
if "html_settings_links" in context and context["html_settings_links"]:
|
|
||||||
settings_html = '<a href="../../#settings">Zulip settings page</a>'
|
|
||||||
subscriptions_html = '<a target="_blank" href="../../#streams">streams page</a>'
|
|
||||||
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 = '<a href="../../#settings">Zulip settings page</a>'
|
|
||||||
subscriptions_html = '<a target="_blank" href="../../#streams">streams page</a>'
|
|
||||||
else:
|
|
||||||
settings_html = 'Zulip settings page'
|
|
||||||
subscriptions_html = 'streams page'
|
|
||||||
|
|
||||||
context['settings_html'] = settings_html
|
|
||||||
context['subscriptions_html'] = subscriptions_html
|
|
||||||
|
|
||||||
|
|
||||||
class IntegrationView(ApiURLView):
|
class IntegrationView(ApiURLView):
|
||||||
template_name = 'zerver/integrations/index.html'
|
template_name = 'zerver/integrations/index.html'
|
||||||
@@ -144,7 +129,7 @@ def integration_doc(request: HttpRequest, integration_name: str=REQ(default=None
|
|||||||
return HttpResponseNotFound()
|
return HttpResponseNotFound()
|
||||||
|
|
||||||
context = {} # type: Dict[str, Any]
|
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_name'] = integration.name
|
||||||
context['integration_display_name'] = integration.display_name
|
context['integration_display_name'] = integration.display_name
|
||||||
|
|||||||
Reference in New Issue
Block a user