From fa2277bb6bc6f95d6fe25dbfc2e6e7363e1f1503 Mon Sep 17 00:00:00 2001 From: Dillon Dumesnil Date: Tue, 6 Oct 2020 12:49:03 -0400 Subject: [PATCH] Check if effective_user is anonymous before trying to get grade I saw locally that it caused an error if you hit the endpoint directly so just being defensive. --- openedx/core/djangoapps/courseware_api/views.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/openedx/core/djangoapps/courseware_api/views.py b/openedx/core/djangoapps/courseware_api/views.py index 9db64fdf5b..09bc763617 100644 --- a/openedx/core/djangoapps/courseware_api/views.py +++ b/openedx/core/djangoapps/courseware_api/views.py @@ -210,9 +210,11 @@ class CoursewareMeta: @property def user_has_passing_grade(self): """ Returns a boolean on if the effective_user has a passing grade in the course """ - course = get_course_by_id(self.course_key) - user_grade = CourseGradeFactory().read(self.effective_user, course).percent - return user_grade >= course.lowest_passing_grade + if not self.effective_user.is_anonymous: + course = get_course_by_id(self.course_key) + user_grade = CourseGradeFactory().read(self.effective_user, course).percent + return user_grade >= course.lowest_passing_grade + return False @property def course_exit_page_is_active(self):