From 9706b41413b304865614ca1b31a717e6088788a4 Mon Sep 17 00:00:00 2001 From: Livio Bieri Date: Thu, 14 Dec 2023 12:01:19 +0100 Subject: [PATCH] chore: cleanup get_cockpit_type a bit --- server/vbv_lernwelt/api/user.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/server/vbv_lernwelt/api/user.py b/server/vbv_lernwelt/api/user.py index 8f521ba4..75d1acec 100644 --- a/server/vbv_lernwelt/api/user.py +++ b/server/vbv_lernwelt/api/user.py @@ -14,19 +14,25 @@ from vbv_lernwelt.learning_mentor.models import LearningMentor def get_cockpit_type(request, course_id: int): course = get_object_or_404(Course, id=course_id) - cockpit_type = None + is_mentor = LearningMentor.objects.filter( + mentor=request.user, course=course + ).exists() - if LearningMentor.objects.filter(mentor=request.user, course=course).exists(): - cockpit_type = "mentor" - elif CourseSessionUser.objects.filter( + is_expert = CourseSessionUser.objects.filter( user=request.user, course_session__course=course, role=CourseSessionUser.Role.EXPERT, - ).exists(): - cockpit_type = "expert" - elif CourseSessionGroup.objects.filter( + ).exists() + + is_supervisor = CourseSessionGroup.objects.filter( course_session__course=course, supervisor=request.user - ).exists(): + ).exists() + + if is_mentor: + cockpit_type = "mentor" + elif is_expert or is_supervisor: cockpit_type = "expert" + else: + cockpit_type = None return Response({"type": cockpit_type})