27 lines
825 B
Python
27 lines
825 B
Python
import structlog
|
|
from rest_framework import serializers
|
|
from wagtail.models import Page
|
|
|
|
from vbv_lernwelt.feedback.models import FeedbackResponse
|
|
|
|
logger = structlog.get_logger(__name__)
|
|
|
|
|
|
class FeedbackResponseSerializer(serializers.ModelSerializer):
|
|
page = serializers.CharField(write_only=True)
|
|
|
|
class Meta:
|
|
model = FeedbackResponse
|
|
exclude = ["circle"]
|
|
# extra_kwargs = {"course", {"read_only": True}}
|
|
|
|
def create(self, validated_data):
|
|
logger.info("creating feedback")
|
|
page_key = validated_data.pop("page")
|
|
|
|
learning_content = Page.objects.get(
|
|
translation_key=page_key, locale__language_code="de-CH"
|
|
)
|
|
circle = learning_content.get_parent().specific
|
|
return FeedbackResponse.objects.create(**validated_data, circle=circle)
|