Merge pull request #24387 from edx/ciduarte/AA-200
AA-200: Redirecting logged out users on Dates Tab
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user