From a9ebf91c4d875c37ef2d6f259026396b61b98bcd Mon Sep 17 00:00:00 2001 From: Christie Rice <8483753+crice100@users.noreply.github.com> Date: Thu, 1 Aug 2019 12:05:59 -0400 Subject: [PATCH] REVMI-354 Revert masquerade changes (#21276) --- lms/djangoapps/courseware/views/index.py | 7 +------ lms/djangoapps/courseware/views/views.py | 23 ++++++++--------------- lms/templates/preview_menu.html | 2 +- 3 files changed, 10 insertions(+), 22 deletions(-) diff --git a/lms/djangoapps/courseware/views/index.py b/lms/djangoapps/courseware/views/index.py index 0dd7ce00a2..53bf4d4516 100644 --- a/lms/djangoapps/courseware/views/index.py +++ b/lms/djangoapps/courseware/views/index.py @@ -66,11 +66,8 @@ from ..entrance_exams import ( from ..masquerade import check_content_start_date_for_masquerade_user, setup_masquerade from ..model_data import FieldDataCache from ..module_render import get_module_for_descriptor, toc_for_course -from ..permissions import MASQUERADE_AS_STUDENT - from .views import CourseTabView - log = logging.getLogger("edx.courseware.views.index") TEMPLATE_IMPORTS = {'urllib': urllib} @@ -155,7 +152,6 @@ class CoursewareIndex(View): # If the user is considered enrolled show the default XBlock student_view. pass - self.can_masquerade = request.user.has_perm(MASQUERADE_AS_STUDENT, self.course) self.is_staff = has_access(request.user, 'staff', self.course) self._setup_masquerade_for_effective_user() @@ -172,7 +168,7 @@ class CoursewareIndex(View): self.masquerade, self.effective_user = setup_masquerade( self.request, self.course_key, - self.can_masquerade, + self.is_staff, reset_masquerade_data=True ) # Set the user in the request to the effective user. @@ -419,7 +415,6 @@ class CoursewareIndex(View): 'init': '', 'fragment': Fragment(), 'staff_access': self.is_staff, - 'can_masquerade': self.can_masquerade, 'masquerade': self.masquerade, 'supports_preview_menu': True, 'studio_url': get_studio_url(self.course, 'course'), diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py index eb9d54319c..a6677da06e 100644 --- a/lms/djangoapps/courseware/views/views.py +++ b/lms/djangoapps/courseware/views/views.py @@ -63,7 +63,7 @@ from courseware.courses import ( from courseware.masquerade import setup_masquerade from courseware.model_data import FieldDataCache from courseware.models import BaseStudentModuleHistory, StudentModule -from courseware.permissions import MASQUERADE_AS_STUDENT, VIEW_COURSE_HOME, VIEW_COURSEWARE +from courseware.permissions import VIEW_COURSE_HOME, VIEW_COURSEWARE from courseware.url_helpers import get_redirect_url from courseware.user_state_client import DjangoXBlockUserStateClient from edxmako.shortcuts import marketing_link, render_to_response, render_to_string @@ -356,8 +356,8 @@ def course_info(request, course_id): with modulestore().bulk_operations(course_key): course = get_course_with_access(request.user, 'load', course_key) - can_masquerade = request.user.has_perm(MASQUERADE_AS_STUDENT, course) - masquerade, user = setup_masquerade(request, course_key, can_masquerade, reset_masquerade_data=True) + staff_access = has_access(request.user, 'staff', course) + masquerade, user = setup_masquerade(request, course_key, staff_access, reset_masquerade_data=True) # LEARNER-612: CCX redirect handled by new Course Home (DONE) # LEARNER-1697: Transition banner messages to new Course Home (DONE) @@ -433,7 +433,7 @@ def course_info(request, course_id): 'course_subtitle': course_subtitle, 'show_subtitle': course_homepage_show_subtitle, 'show_org': course_homepage_show_org, - 'can_masquerade': can_masquerade, + 'staff_access': staff_access, 'masquerade': masquerade, 'supports_preview_menu': True, 'studio_url': get_studio_url(course, 'course_info'), @@ -646,16 +646,11 @@ class CourseTabView(EdxFragmentView): """ Creates the context for the fragment's template. """ - can_masquerade = request.user.has_perm(MASQUERADE_AS_STUDENT, course) + staff_access = has_access(request.user, 'staff', course) supports_preview_menu = tab.get('supports_preview_menu', False) uses_bootstrap = self.uses_bootstrap(request, course, tab=tab) if supports_preview_menu: - masquerade, masquerade_user = setup_masquerade( - request, - course.id, - can_masquerade, - reset_masquerade_data=True, - ) + masquerade, masquerade_user = setup_masquerade(request, course.id, staff_access, reset_masquerade_data=True) request.user = masquerade_user else: masquerade = None @@ -664,7 +659,7 @@ class CourseTabView(EdxFragmentView): 'course': course, 'tab': tab, 'active_page': tab.get('type', None), - 'can_masquerade': can_masquerade, + 'staff_access': staff_access, 'masquerade': masquerade, 'supports_preview_menu': supports_preview_menu, 'uses_bootstrap': uses_bootstrap, @@ -994,12 +989,11 @@ def _progress(request, course_key, student_id): course = get_course_with_access(request.user, 'load', course_key) staff_access = bool(has_access(request.user, 'staff', course)) - can_masquerade = request.user.has_perm(MASQUERADE_AS_STUDENT, course) masquerade = None if student_id is None or student_id == request.user.id: # This will be a no-op for non-staff users, returning request.user - masquerade, student = setup_masquerade(request, course_key, can_masquerade, reset_masquerade_data=True) + masquerade, student = setup_masquerade(request, course_key, staff_access, reset_masquerade_data=True) else: try: coach_access = has_ccx_coach_role(request.user, course_key) @@ -1042,7 +1036,6 @@ def _progress(request, course_key, student_id): 'courseware_summary': courseware_summary, 'studio_url': studio_url, 'grade_summary': course_grade.summary, - 'can_masquerade': can_masquerade, 'staff_access': staff_access, 'masquerade': masquerade, 'supports_preview_menu': True, diff --git a/lms/templates/preview_menu.html b/lms/templates/preview_menu.html index 7b239d78d8..0e64476799 100644 --- a/lms/templates/preview_menu.html +++ b/lms/templates/preview_menu.html @@ -11,7 +11,7 @@ from xmodule.partitions.partitions_service import get_all_partitions_for_course %> <% -show_preview_menu = course and can_masquerade and supports_preview_menu +show_preview_menu = course and staff_access and supports_preview_menu %> % if show_preview_menu: