mirror of
https://github.com/zulip/zulip.git
synced 2025-11-01 12:33:40 +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.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'],
|
||||
'<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(
|
||||
context['settings_html'],
|
||||
'<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['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 = '<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):
|
||||
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 = '<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):
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user