+
+
+ ${HTML(fragment.body_html())}
+
+
+
diff --git a/lms/djangoapps/courseware/tabs.py b/lms/djangoapps/courseware/tabs.py
index 919cc8fccd..09d36c463b 100644
--- a/lms/djangoapps/courseware/tabs.py
+++ b/lms/djangoapps/courseware/tabs.py
@@ -10,6 +10,7 @@ from django.utils.translation import ugettext as _, ugettext_noop
from courseware.access import has_access
from courseware.entrance_exams import user_can_skip_entrance_exam
from openedx.core.lib.course_tabs import CourseTabPluginManager
+from request_cache.middleware import RequestCache
from student.models import CourseEnrollment
from xmodule.tabs import CourseTab, CourseTabList, key_checker, link_reverse_func
@@ -41,7 +42,8 @@ class CoursewareTab(EnrolledTab):
"""
Returns a function that computes the URL for this tab.
"""
- if waffle.switch_is_active('unified_course_view'):
+ request = RequestCache.get_current_request()
+ if waffle.flag_is_active(request, 'unified_course_view'):
return link_reverse_func('unified_course_view')
else:
return link_reverse_func('courseware')
diff --git a/lms/djangoapps/courseware/views/index.py b/lms/djangoapps/courseware/views/index.py
index 8cf7eee08f..a836cd35d6 100644
--- a/lms/djangoapps/courseware/views/index.py
+++ b/lms/djangoapps/courseware/views/index.py
@@ -28,6 +28,7 @@ except ImportError:
newrelic = None # pylint: disable=invalid-name
import urllib
+import waffle
from lms.djangoapps.gating.api import get_entrance_exam_score_ratio, get_entrance_exam_usage_key
from lms.djangoapps.grades.new.course_grade import CourseGradeFactory
@@ -35,6 +36,7 @@ from opaque_keys.edx.keys import CourseKey
from openedx.core.djangoapps.lang_pref import LANGUAGE_KEY
from openedx.core.djangoapps.user_api.preferences.api import get_user_preference
from openedx.core.djangoapps.crawlers.models import CrawlersConfig
+from request_cache.middleware import RequestCache
from shoppingcart.models import CourseRegistrationCode
from student.models import CourseEnrollment
from student.views import is_course_blocked
@@ -402,6 +404,7 @@ class CoursewareIndex(View):
Returns and creates the rendering context for the courseware.
Also returns the table of contents for the courseware.
"""
+ request = RequestCache.get_current_request()
courseware_context = {
'csrf': csrf(self.request)['csrf_token'],
'COURSE_TITLE': self.course.display_name_with_default_escaped,
@@ -417,7 +420,8 @@ class CoursewareIndex(View):
'language_preference': self._get_language_preference(),
'disable_optimizely': True,
'section_title': None,
- 'sequence_title': None
+ 'sequence_title': None,
+ 'disable_accordion': waffle.flag_is_active(request, 'unified_course_view')
}
table_of_contents = toc_for_course(
self.effective_user,
diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py
index 88c365f46a..adb8659f9d 100644
--- a/lms/djangoapps/courseware/views/views.py
+++ b/lms/djangoapps/courseware/views/views.py
@@ -1680,7 +1680,7 @@ class CourseOutlineFragmentView(FragmentView):
return block
- def render_fragment(self, request, course_id=None):
+ def render_fragment(self, request, course_id=None, **kwargs):
"""
Renders the course outline as a fragment.
"""
@@ -1704,5 +1704,5 @@ class CourseOutlineFragmentView(FragmentView):
# Recurse through the block tree, fleshing out each child object
'blocks': self.populate_children(course_block_tree, all_blocks['blocks'])
}
- html = render_to_string('courseware/course-outline.html', context)
+ html = render_to_string('courseware/course_outline.html', context)
return Fragment(html)
diff --git a/lms/static/sass/shared-v2/_course-outline.scss b/lms/static/sass/shared-v2/_course-outline.scss
index 8bf1ea112d..819c1a9ee1 100644
--- a/lms/static/sass/shared-v2/_course-outline.scss
+++ b/lms/static/sass/shared-v2/_course-outline.scss
@@ -1,21 +1,22 @@
.course-outline {
color: $lms-gray;
- ul {
+ ol {
margin: 0 $baseline;
list-style: none;
- > ul {
+ > ol {
@include margin-left($baseline / 2);
}
- li.section-name {
+ div.section-name {
@include padding($baseline * 0.75, $baseline * 0.75, $baseline * 0.75, $baseline / 4);
background-color: $lms-background-color;
border-top: 1px solid $lms-border-color;
+ margin-bottom: $baseline * 0.5;
}
- ul.outline-item {
+ ol.outline-item {
@include margin-left($baseline);
padding-bottom: ($baseline / 2);
diff --git a/lms/templates/courseware/course-outline.html b/lms/templates/courseware/course-outline.html
deleted file mode 100644
index 66af18f66a..0000000000
--- a/lms/templates/courseware/course-outline.html
+++ /dev/null
@@ -1,29 +0,0 @@
-## mako
-
-<%namespace name='static' file='../static_content.html'/>
-
-<%!
-from django.utils.translation import ugettext as _
-%>
-
-<%static:require_module_async module_name="js/courseware/course_outline_factory" class_name="CourseOutlineFactory">
- CourseOutlineFactory('.block-tree');
-%static:require_module_async>
-
-