From 8740ad6a374c7dd370829c7dac995fe2e8fe9a9b Mon Sep 17 00:00:00 2001 From: ankitjavalkar Date: Wed, 21 Apr 2021 09:42:00 +0530 Subject: [PATCH 1/2] Allow creator or teacher access to course without enrollment --- yaksh/views.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/yaksh/views.py b/yaksh/views.py index 4a6f462d..6c156120 100644 --- a/yaksh/views.py +++ b/yaksh/views.py @@ -3185,7 +3185,9 @@ def view_module(request, module_id, course_id, msg=None): def course_modules(request, course_id, msg=None): user = request.user course = Course.objects.get(id=course_id) - if user not in course.students.all(): + user_is_not_student = user not in course.students.all() + user_is_staff = course.is_teacher(user) or course.is_creator(user) + if user_is_not_student and not user_is_staff: msg = 'You are not enrolled for this course!' return quizlist_user(request, msg=msg) From 2402fd64ce02077c61725d85c1ff6e1edc6ec504 Mon Sep 17 00:00:00 2001 From: ankitjavalkar Date: Thu, 29 Apr 2021 18:00:35 +0530 Subject: [PATCH 2/2] Use model method based on review feedback --- yaksh/views.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/yaksh/views.py b/yaksh/views.py index 6c156120..fa23fcf2 100644 --- a/yaksh/views.py +++ b/yaksh/views.py @@ -3185,9 +3185,9 @@ def view_module(request, module_id, course_id, msg=None): def course_modules(request, course_id, msg=None): user = request.user course = Course.objects.get(id=course_id) - user_is_not_student = user not in course.students.all() + user_is_student = course.is_student(user) user_is_staff = course.is_teacher(user) or course.is_creator(user) - if user_is_not_student and not user_is_staff: + if not user_is_student and not user_is_staff: msg = 'You are not enrolled for this course!' return quizlist_user(request, msg=msg)