From 6a2859e641811c4fc433d6eea5e5f51fe80df762 Mon Sep 17 00:00:00 2001 From: Ramon Wenger Date: Tue, 22 Nov 2022 16:11:19 +0100 Subject: [PATCH] Swap serializer mutation for form mutation --- server/vbv_lernwelt/feedback/graphql/mutations.py | 13 ++++++------- server/vbv_lernwelt/feedback/graphql/types.py | 6 +++--- server/vbv_lernwelt/feedback/models.py | 12 ++++++------ server/vbv_lernwelt/feedback/serializers.py | 9 +++++++++ 4 files changed, 24 insertions(+), 16 deletions(-) create mode 100644 server/vbv_lernwelt/feedback/serializers.py diff --git a/server/vbv_lernwelt/feedback/graphql/mutations.py b/server/vbv_lernwelt/feedback/graphql/mutations.py index 76ff83c1..dd27c58b 100644 --- a/server/vbv_lernwelt/feedback/graphql/mutations.py +++ b/server/vbv_lernwelt/feedback/graphql/mutations.py @@ -1,15 +1,14 @@ -import graphene -from graphene_django.forms.mutation import DjangoModelFormMutation +from graphene_django.rest_framework.mutation import SerializerMutation -from vbv_lernwelt.feedback.forms import FeedbackForm -from vbv_lernwelt.feedback.graphql.types import FeedbackType +from vbv_lernwelt.feedback.serializers import FeedbackSerializer -class SendFeedback(DjangoModelFormMutation): - feedback = graphene.Field(FeedbackType) +class SendFeedback(SerializerMutation): + # feedback = graphene.Field(FeedbackType) class Meta: - form_class = FeedbackForm + # form_class = FeedbackForm + serializer_class = FeedbackSerializer class Mutation(object): diff --git a/server/vbv_lernwelt/feedback/graphql/types.py b/server/vbv_lernwelt/feedback/graphql/types.py index e4ff8255..8007b083 100644 --- a/server/vbv_lernwelt/feedback/graphql/types.py +++ b/server/vbv_lernwelt/feedback/graphql/types.py @@ -3,6 +3,6 @@ from graphene_django import DjangoObjectType from vbv_lernwelt.feedback.models import Feedback -class FeedbackType(DjangoObjectType): - class Meta: - model = Feedback +# class FeedbackType(DjangoObjectType): +# class Meta: +# model = Feedback diff --git a/server/vbv_lernwelt/feedback/models.py b/server/vbv_lernwelt/feedback/models.py index a66c7366..f87ac77f 100644 --- a/server/vbv_lernwelt/feedback/models.py +++ b/server/vbv_lernwelt/feedback/models.py @@ -42,16 +42,16 @@ class Feedback(models.Model): EIGHTY = 80, "80%" HUNDRED = 100, "100%" - satisfaction = FeedbackIntegerField(choices=RatingChoices.choices) - goal_attainment = FeedbackIntegerField(choices=RatingChoices.choices) - proficiency = models.IntegerField(choices=PercentageChoices.choices) + satisfaction = FeedbackIntegerField() + goal_attainment = FeedbackIntegerField() + proficiency = models.IntegerField() received_materials = models.BooleanField() materials_rating = FeedbackIntegerField(blank=True) - instructor_competence = FeedbackIntegerField(choices=RatingChoices.choices) - instructor_respect = FeedbackIntegerField(choices=RatingChoices.choices) + instructor_competence = FeedbackIntegerField() + instructor_respect = FeedbackIntegerField() instructor_open_feedback = models.TextField() would_recommend = models.BooleanField() course_positive_feedback = models.TextField() course_negative_feedback = models.TextField() - how_discovered = models.CharField(max_length=1, choices=DiscoveredChoices.choices) + how_discovered = models.CharField(max_length=1) motivation = models.ManyToManyField(Motivation) diff --git a/server/vbv_lernwelt/feedback/serializers.py b/server/vbv_lernwelt/feedback/serializers.py new file mode 100644 index 00000000..6e5152f3 --- /dev/null +++ b/server/vbv_lernwelt/feedback/serializers.py @@ -0,0 +1,9 @@ +from rest_framework import serializers + +from vbv_lernwelt.feedback.models import Feedback + + +class FeedbackSerializer(serializers.ModelSerializer): + class Meta: + model = Feedback + fields = "__all__"