Unify the home and course tabs
LEARNER-609
This commit is contained in:
@@ -13,9 +13,9 @@ from django.views.decorators.csrf import ensure_csrf_cookie
|
||||
from django.views.generic import View
|
||||
|
||||
from courseware.courses import get_course_with_access
|
||||
from lms.djangoapps.courseware.tabs import CoursewareTab
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
from openedx.core.djangoapps.plugin_api.views import EdxFragmentView
|
||||
from openedx.features.course_experience import defaut_course_url_name
|
||||
from util.views import ensure_valid_course_key
|
||||
from web_fragments.fragment import Fragment
|
||||
|
||||
@@ -38,7 +38,7 @@ class CourseBookmarksView(View):
|
||||
"""
|
||||
course_key = CourseKey.from_string(course_id)
|
||||
course = get_course_with_access(request.user, 'load', course_key, check_if_enrolled=True)
|
||||
course_url_name = CoursewareTab.main_course_url_name(request)
|
||||
course_url_name = defaut_course_url_name(request)
|
||||
course_url = reverse(course_url_name, kwargs={'course_id': unicode(course.id)})
|
||||
|
||||
# Render the bookmarks list as a fragment
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
# Unified course experience settings.
|
||||
"""
|
||||
Unified course experience settings and helper methods.
|
||||
"""
|
||||
|
||||
import waffle
|
||||
|
||||
from request_cache.middleware import RequestCache
|
||||
|
||||
# Waffle flag to enable a single unified "Course" tab.
|
||||
UNIFIED_COURSE_EXPERIENCE_FLAG = 'unified_course_experience'
|
||||
@@ -6,3 +12,23 @@ UNIFIED_COURSE_EXPERIENCE_FLAG = 'unified_course_experience'
|
||||
# Waffle flag to enable the full screen course content view
|
||||
# along with a unified course home page.
|
||||
UNIFIED_COURSE_VIEW_FLAG = 'unified_course_view'
|
||||
|
||||
|
||||
def defaut_course_url_name(request=None):
|
||||
"""
|
||||
Returns the default course URL name for the current user.
|
||||
"""
|
||||
if waffle.flag_is_active(request or RequestCache.get_current_request(), UNIFIED_COURSE_VIEW_FLAG):
|
||||
return 'openedx.course_experience.course_home'
|
||||
else:
|
||||
return 'courseware'
|
||||
|
||||
|
||||
def course_home_url_name(request=None):
|
||||
"""
|
||||
Returns the course home page's URL name for the current user.
|
||||
"""
|
||||
if waffle.flag_is_active(request or RequestCache.get_current_request(), UNIFIED_COURSE_EXPERIENCE_FLAG):
|
||||
return 'openedx.course_experience.course_home'
|
||||
else:
|
||||
return 'info'
|
||||
|
||||
@@ -10,10 +10,10 @@ from django.utils.decorators import method_decorator
|
||||
from django.views.decorators.cache import cache_control
|
||||
|
||||
from courseware.courses import get_course_info_section, get_course_with_access
|
||||
from lms.djangoapps.courseware.tabs import CoursewareTab
|
||||
from lms.djangoapps.courseware.views.views import CourseTabView
|
||||
from opaque_keys.edx.keys import CourseKey
|
||||
from openedx.core.djangoapps.plugin_api.views import EdxFragmentView
|
||||
from openedx.features.course_experience import defaut_course_url_name
|
||||
from web_fragments.fragment import Fragment
|
||||
|
||||
|
||||
@@ -45,7 +45,7 @@ class CourseUpdatesFragmentView(EdxFragmentView):
|
||||
"""
|
||||
course_key = CourseKey.from_string(course_id)
|
||||
course = get_course_with_access(request.user, 'load', course_key, check_if_enrolled=True)
|
||||
course_url_name = CoursewareTab.main_course_url_name(request)
|
||||
course_url_name = defaut_course_url_name(request)
|
||||
course_url = reverse(course_url_name, kwargs={'course_id': unicode(course.id)})
|
||||
|
||||
# Fetch the updates as HTML
|
||||
|
||||
Reference in New Issue
Block a user