Merge pull request #24387 from edx/ciduarte/AA-200

AA-200: Redirecting logged out users on Dates Tab
This commit is contained in:
Carla Duarte
2020-07-08 15:45:37 -04:00
committed by GitHub
2 changed files with 11 additions and 1 deletions

View File

@@ -310,7 +310,7 @@ class SingleTextbookTab(CourseTab):
raise NotImplementedError('SingleTextbookTab should not be serialized.')
class DatesTab(CourseTab):
class DatesTab(EnrolledTab):
"""
A tab representing the relevant dates for a course.
"""
@@ -333,6 +333,8 @@ class DatesTab(CourseTab):
@classmethod
def is_enabled(cls, course, user=None):
"""Returns true if this tab is enabled."""
if not super().is_enabled(course, user=user):
return False
return RELATIVE_DATES_FLAG.is_enabled(course.id)

View File

@@ -1060,6 +1060,14 @@ def dates(request, course_id):
)
request.user = masquerade_user
user_is_enrolled = CourseEnrollment.is_enrolled(request.user, course_key)
user_is_staff = has_access(request.user, 'staff', course_key)
# Render the full content to enrolled users, as well as to course and global staff.
# Unenrolled users who are not course or global staff are redirected to the Outline Tab.
if not user_is_enrolled and not user_is_staff:
raise CourseAccessRedirect(reverse('openedx.course_experience.course_home', args=[course_id]))
course_date_blocks = get_course_date_blocks(course, request.user, request,
include_access=True, include_past_dates=True)