def dispatch(self, request, *args, **kwargs): if self.allowed_roles is None: raise ImproperlyConfigured( "'LTIRoleRestrictionMixin' requires " "'allowed_roles' attribute to be set.") if is_allowed(request, self.allowed_roles, self.raise_exception): return super(LTIRoleRestrictionMixin, self).dispatch(request, *args, **kwargs) return redirect(self.redirect_url)
def dispatch(self, request, *args, **kwargs): if self.allowed_roles is None: raise ImproperlyConfigured("'LTIRoleRestrictionMixin' requires " "'allowed_roles' attribute to be set.") if is_allowed(request, self.allowed_roles, self.raise_exception): return super(LTIRoleRestrictionMixin, self).dispatch(request, *args, **kwargs) return redirect(self.redirect_url)
def request_is_instructor(request): if request.user.is_superuser: return True #<<<<<<< HEAD # return 'Instructor' in request.LTI.get('roles') # pbh: Bb uses lowercase! # for role in request.LTI.get('roles'): # if re.match("(.*)(I|i)nstructor(.*)", role): # return True; #======= return is_allowed(request,INSTRUCTOR_ROLES,False)
def _wrapped_view(request, *args, **kwargs): if request.user.is_superuser or is_allowed(request, allowed_roles, raise_exception): return view_func(request, *args, **kwargs) return redirect(redirect_url+'?originalurl='+urllib.parse.quote(self.request.path+'?'+self.request.META.get('QUERY_STRING','')))
def request_is_instructor(request): if request.user.is_superuser: return True return bool(is_allowed(request,INSTRUCTOR_ROLES,False))
def _wrapped_view(request, *args, **kwargs): if request.user.is_superuser or is_allowed(request, allowed_roles, raise_exception): return view_func(request, *args, **kwargs) return redirect(redirect_url)
def test_is_allowed_failure_one_role(self): request = MagicMock(LTI={"roles": []}) allowed_roles = "admin" user_is_allowed = is_allowed(request, allowed_roles, False) self.assertFalse(user_is_allowed)
def test_is_allowed_failure(self): request = MagicMock(LTI={"roles": []}) allowed_roles = ["admin", "student"] user_is_allowed = is_allowed(request, allowed_roles, False) self.assertFalse(user_is_allowed)
def test_is_allowed_success_one_role(self): request = MagicMock(LTI={"roles": ["admin"]}) allowed_roles = "admin" user_is_allowed = is_allowed(request, allowed_roles, False) self.assertTrue(user_is_allowed)
def request_is_instructor(request): if request.user.is_superuser: return True return is_allowed(request,INSTRUCTOR_ROLES,False)
def test_is_allowed_failure_one_role(self): request = MagicMock(LTI={"roles":[]}) allowed_roles = "admin" user_is_allowed = is_allowed(request, allowed_roles, False) self.assertFalse(user_is_allowed)
def test_is_allowed_failure(self): request = MagicMock(LTI={"roles":[]}) allowed_roles = ["admin", "student"] user_is_allowed = is_allowed(request, allowed_roles, False) self.assertFalse(user_is_allowed)
def test_is_allowed_success(self): request = MagicMock(LTI={"roles": ["admin"]}) allowed_roles = ["admin", "student"] user_is_allowed = is_allowed(request, allowed_roles, False) self.assertTrue(user_is_allowed)
def _lti_role_allowed(request, lti_roles_permitted, raise_exception=False): """ utility method to convert is_allowed() to a boolean """ user_allowed_roles = is_allowed(request, lti_roles_permitted, raise_exception) return len(user_allowed_roles) > 0