VBV-525: Fix feedback data rest endpoint

This commit is contained in:
Daniel Egger 2023-09-21 08:59:05 +02:00
parent ccc7174772
commit d80400ea8c
1 changed files with 9 additions and 2 deletions

View File

@ -2,8 +2,10 @@ import itertools
import structlog import structlog
from rest_framework.decorators import api_view from rest_framework.decorators import api_view
from rest_framework.exceptions import PermissionDenied
from rest_framework.response import Response from rest_framework.response import Response
from vbv_lernwelt.course.permissions import is_course_session_expert
from vbv_lernwelt.feedback.models import FeedbackResponse from vbv_lernwelt.feedback.models import FeedbackResponse
logger = structlog.get_logger(__name__) logger = structlog.get_logger(__name__)
@ -24,8 +26,11 @@ FEEDBACK_FIELDS = [
@api_view(["GET"]) @api_view(["GET"])
def get_expert_feedbacks_for_course(request, course_session_id): def get_expert_feedbacks_for_course(request, course_session_id):
if not is_course_session_expert(request.user, course_session_id):
raise PermissionDenied()
feedbacks = FeedbackResponse.objects.filter( feedbacks = FeedbackResponse.objects.filter(
course_session__id=course_session_id, circle__expert__user=request.user course_session__id=course_session_id
).order_by("circle_id") ).order_by("circle_id")
circle_count = [] circle_count = []
@ -44,9 +49,11 @@ def get_expert_feedbacks_for_course(request, course_session_id):
@api_view(["GET"]) @api_view(["GET"])
def get_feedback_for_circle(request, course_session_id, circle_id): def get_feedback_for_circle(request, course_session_id, circle_id):
if not is_course_session_expert(request.user, course_session_id):
raise PermissionDenied()
feedbacks = FeedbackResponse.objects.filter( feedbacks = FeedbackResponse.objects.filter(
course_session__id=course_session_id, course_session__id=course_session_id,
circle__expert__user=request.user,
circle_id=circle_id, circle_id=circle_id,
).order_by("created_at") ).order_by("created_at")