Merge pull request #17547 from edx/aj/fix-course-home-page

Fix course home page bug
This commit is contained in:
Awais Jibran
2018-02-27 17:37:30 +05:00
committed by GitHub
2 changed files with 29 additions and 11 deletions

View File

@@ -495,6 +495,29 @@ class TestCourseOutlineResumeCourse(SharedModuleStoreTestCase, CompletionWaffleT
# check resume course buttons
self.visit_course_home(course, resume_count=1)
@override_switch(
'{}.{}'.format(
waffle.WAFFLE_NAMESPACE, waffle.ENABLE_VISUAL_PROGRESS
),
active=True
)
@patch('completion.waffle.get_current_site')
def test_course_home_for_global_staff(self, get_patched_current_site):
"""
Tests that staff user can access the course home without being enrolled
in the course.
"""
course = self.course
get_patched_current_site.return_value = self.site
self.user.is_staff = True
self.user.save()
self.override_waffle_switch(True)
CourseEnrollment.get_enrollment(self.user, course.id).delete()
response = self.visit_course_home(course, start_count=1, resume_count=0)
content = pq(response.content)
self.assertTrue(content('.action-resume-course').attr('href').endswith('/course/' + course.url_name))
class TestCourseOutlinePreview(SharedModuleStoreTestCase):
"""

View File

@@ -39,8 +39,10 @@ class CourseOutlineFragmentView(EdxFragmentView):
# TODO: EDUCATOR-2283 Remove 'show_visual_progress' from context
# and remove the check for it in the HTML file
show_visual_progress = (completion_waffle.visual_progress_enabled(course_key) and
self.user_enrolled_after_completion_collection(request.user, course_key))
show_visual_progress = (
completion_waffle.visual_progress_enabled(course_key) and
self.user_enrolled_after_completion_collection(request.user, course_key)
)
context = {
'csrf': csrf(request)['csrf_token'],
'course': course_overview,
@@ -139,14 +141,7 @@ class CourseOutlineFragmentView(EdxFragmentView):
check until all active enrollments are created after the date.
"""
begin_collection_date = datetime.datetime(2018, 01, 24, tzinfo=pytz.utc)
user = User.objects.get(username=user)
user_enrollment = CourseEnrollment.objects.get(
user=user,
course_id=course_key,
is_active=True
)
if user_enrollment and user_enrollment.created > begin_collection_date:
user_enrollment = CourseEnrollment.get_enrollment(user=user, course_key=course_key)
if user_enrollment and user_enrollment.is_active and user_enrollment.created > begin_collection_date:
return True
return False