Bullet-proofing for MKTG_URLS.
This commit is contained in:
@@ -24,6 +24,12 @@ class LMSLinksTestCase(TestCase):
|
|||||||
with mock.patch.dict('django.conf.settings.MITX_FEATURES', {'ENABLE_MKTG_SITE': False}):
|
with mock.patch.dict('django.conf.settings.MITX_FEATURES', {'ENABLE_MKTG_SITE': False}):
|
||||||
self.assertEquals(self.get_about_page_link(), "//localhost:8000/courses/mitX/101/test/about")
|
self.assertEquals(self.get_about_page_link(), "//localhost:8000/courses/mitX/101/test/about")
|
||||||
|
|
||||||
|
@override_settings(MKTG_URLS={})
|
||||||
|
def about_page_marketing_urls_not_set_test(self):
|
||||||
|
""" Error case. ENABLE_MKTG_SITE is True, but there is either no MKTG_URLS, or no MKTG_URLS Root property. """
|
||||||
|
with mock.patch.dict('django.conf.settings.MITX_FEATURES', {'ENABLE_MKTG_SITE': True}):
|
||||||
|
self.assertEquals(self.get_about_page_link(), None)
|
||||||
|
|
||||||
@override_settings(LMS_BASE=None)
|
@override_settings(LMS_BASE=None)
|
||||||
def about_page_no_lms_base_test(self):
|
def about_page_no_lms_base_test(self):
|
||||||
""" No LMS_BASE, nor is ENABLE_MKTG_SITE True """
|
""" No LMS_BASE, nor is ENABLE_MKTG_SITE True """
|
||||||
|
|||||||
@@ -4,6 +4,9 @@ from xmodule.modulestore.django import modulestore
|
|||||||
from xmodule.modulestore.exceptions import ItemNotFoundError
|
from xmodule.modulestore.exceptions import ItemNotFoundError
|
||||||
from django.core.urlresolvers import reverse
|
from django.core.urlresolvers import reverse
|
||||||
import copy
|
import copy
|
||||||
|
import logging
|
||||||
|
|
||||||
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
DIRECT_ONLY_CATEGORIES = ['course', 'chapter', 'sequential', 'about', 'static_tab', 'course_info']
|
DIRECT_ONLY_CATEGORIES = ['course', 'chapter', 'sequential', 'about', 'static_tab', 'course_info']
|
||||||
|
|
||||||
@@ -108,9 +111,18 @@ def get_lms_link_for_about_page(location):
|
|||||||
Returns the url to the course about page from the location tuple.
|
Returns the url to the course about page from the location tuple.
|
||||||
"""
|
"""
|
||||||
if settings.MITX_FEATURES.get('ENABLE_MKTG_SITE', False):
|
if settings.MITX_FEATURES.get('ENABLE_MKTG_SITE', False):
|
||||||
# Root will be "www.edx.org". The complete URL will still not be exactly correct,
|
if not hasattr(settings, 'MKTG_URLS'):
|
||||||
# but redirects exist from www.edx.org to get to the drupal course about page URL.
|
log.exception("ENABLE_MKTG_SITE is True, but MKTG_URLS is not defined.")
|
||||||
about_base = settings.MKTG_URLS.get('ROOT')
|
about_base = None
|
||||||
|
else:
|
||||||
|
marketing_urls = settings.MKTG_URLS
|
||||||
|
if marketing_urls.get('ROOT', None) is None:
|
||||||
|
log.exception('There is no ROOT defined in MKTG_URLS')
|
||||||
|
about_base = None
|
||||||
|
else:
|
||||||
|
# Root will be "www.edx.org". The complete URL will still not be exactly correct,
|
||||||
|
# but redirects exist from www.edx.org to get to the drupal course about page URL.
|
||||||
|
about_base = marketing_urls.get('ROOT')
|
||||||
elif settings.LMS_BASE is not None:
|
elif settings.LMS_BASE is not None:
|
||||||
about_base = settings.LMS_BASE
|
about_base = settings.LMS_BASE
|
||||||
else:
|
else:
|
||||||
|
|||||||
Reference in New Issue
Block a user