This includes several general enhancement in addition to the fixes for unified_course_view: 1. Add support for default when no waffle flag defined. 2. Add support for table_blacklist to assertNumQueries. 3. Rename flag to 'course_experience.course_outline_page'. 4. Change flag default to True when it is not defined.
58 lines
1.9 KiB
Python
58 lines
1.9 KiB
Python
"""
|
|
Unified course experience settings and helper methods.
|
|
"""
|
|
from django.utils.translation import ugettext as _
|
|
|
|
from openedx.core.djangoapps.waffle_utils import CourseWaffleFlag, WaffleFlag, WaffleFlagNamespace
|
|
|
|
|
|
# Namespace for course experience waffle flags.
|
|
WAFFLE_FLAG_NAMESPACE = WaffleFlagNamespace(name='course_experience')
|
|
|
|
# Waffle flag to enable the separate course outline page and full width content.
|
|
COURSE_OUTLINE_PAGE_FLAG = CourseWaffleFlag(WAFFLE_FLAG_NAMESPACE, 'course_outline_page', flag_undefined_default=True)
|
|
|
|
# Waffle flag to enable a single unified "Course" tab.
|
|
UNIFIED_COURSE_TAB_FLAG = CourseWaffleFlag(WAFFLE_FLAG_NAMESPACE, 'unified_course_tab')
|
|
|
|
# Waffle flag to enable the sock on the footer of the home and courseware pages
|
|
DISPLAY_COURSE_SOCK_FLAG = CourseWaffleFlag(WAFFLE_FLAG_NAMESPACE, 'display_course_sock')
|
|
|
|
# Waffle flag to enable a review page link from the unified home page
|
|
SHOW_REVIEWS_TOOL_FLAG = CourseWaffleFlag(WAFFLE_FLAG_NAMESPACE, 'show_reviews_tool')
|
|
|
|
|
|
def course_home_page_title(course): # pylint: disable=unused-argument
|
|
"""
|
|
Returns the title for the course home page.
|
|
"""
|
|
return _('Course')
|
|
|
|
|
|
def default_course_url_name(course_id):
|
|
"""
|
|
Returns the default course URL name for the current user.
|
|
|
|
Arguments:
|
|
course_id (CourseKey): The course id of the current course.
|
|
"""
|
|
if COURSE_OUTLINE_PAGE_FLAG.is_enabled(course_id):
|
|
return 'openedx.course_experience.course_home'
|
|
else:
|
|
return 'courseware'
|
|
|
|
|
|
def course_home_url_name(course_key):
|
|
"""
|
|
Returns the course home page's URL name for the current user.
|
|
|
|
Arguments:
|
|
course_key (CourseKey): The course key for which the home url is being
|
|
requested.
|
|
|
|
"""
|
|
if UNIFIED_COURSE_TAB_FLAG.is_enabled(course_key):
|
|
return 'openedx.course_experience.course_home'
|
|
else:
|
|
return 'info'
|