from vbv_lernwelt.course.models import CourseSession, CourseSessionUser def has_course_access_by_page_request(request, obj): return has_course_access(request.user, obj.specific.get_course()) def has_course_access(user, course): if user.is_superuser: return True # attached to CourseSession course_session = CourseSessionUser.objects.filter( course_session__course_id=course.id, user=user ).exists() if course_session: return True # TODO is trainer/expert of session # TODO check school class access return False def course_sessions_for_user_qs(user): if user.is_superuser: return CourseSession.objects.all() course_sessions = CourseSession.objects.filter( course_session_user__user=user ).distinct() return course_sessions