Commit 096d6853 by Calen Pennington

Allow for branding subdomains that are longer than a single .

parent 9e9825cb
...@@ -4,8 +4,11 @@ from xmodule.course_module import CourseDescriptor ...@@ -4,8 +4,11 @@ from xmodule.course_module import CourseDescriptor
from django.conf import settings from django.conf import settings
def get_subdomain(domain): def pick_subdomain(domain, options, default='default'):
return domain.split(".")[0] for option in options:
if domain.startswith(option):
return option
return default
def get_visible_courses(domain=None): def get_visible_courses(domain=None):
...@@ -17,9 +20,7 @@ def get_visible_courses(domain=None): ...@@ -17,9 +20,7 @@ def get_visible_courses(domain=None):
courses = sorted(courses, key=lambda course: course.number) courses = sorted(courses, key=lambda course: course.number)
if domain and settings.MITX_FEATURES.get('SUBDOMAIN_COURSE_LISTINGS'): if domain and settings.MITX_FEATURES.get('SUBDOMAIN_COURSE_LISTINGS'):
subdomain = get_subdomain(domain) subdomain = pick_subdomain(domain, settings.COURSE_LISTINGS.keys())
if subdomain not in settings.COURSE_LISTINGS:
subdomain = 'default'
visible_ids = frozenset(settings.COURSE_LISTINGS[subdomain]) visible_ids = frozenset(settings.COURSE_LISTINGS[subdomain])
return [course for course in courses if course.id in visible_ids] return [course for course in courses if course.id in visible_ids]
else: else:
...@@ -34,7 +35,7 @@ def get_university(domain=None): ...@@ -34,7 +35,7 @@ def get_university(domain=None):
if not settings.MITX_FEATURES['SUBDOMAIN_BRANDING'] or domain is None: if not settings.MITX_FEATURES['SUBDOMAIN_BRANDING'] or domain is None:
return None return None
subdomain = get_subdomain(domain) subdomain = pick_subdomain(domain, settings.SUBDOMAIN_BRANDING.keys())
return settings.SUBDOMAIN_BRANDING.get(subdomain) return settings.SUBDOMAIN_BRANDING.get(subdomain)
......
...@@ -7,6 +7,7 @@ from ..dev import * ...@@ -7,6 +7,7 @@ from ..dev import *
MITX_FEATURES['AUTH_USE_MIT_CERTIFICATES'] = False MITX_FEATURES['AUTH_USE_MIT_CERTIFICATES'] = False
SUBDOMAIN_BRANDING['edge'] = 'edge' SUBDOMAIN_BRANDING['edge'] = 'edge'
SUBDOMAIN_BRANDING['preview.edge'] = 'edge'
VIRTUAL_UNIVERSITIES = ['edge'] VIRTUAL_UNIVERSITIES = ['edge']
modulestore_options = { modulestore_options = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment