diff --git a/server/vbv_lernwelt/course/graphql/queries.py b/server/vbv_lernwelt/course/graphql/queries.py index 9ec331fc..46515ad5 100644 --- a/server/vbv_lernwelt/course/graphql/queries.py +++ b/server/vbv_lernwelt/course/graphql/queries.py @@ -1,6 +1,7 @@ import graphene from django.db.models import Q from graphql import GraphQLError + from vbv_lernwelt.course.graphql.types import CourseObjectType, CourseSessionObjectType from vbv_lernwelt.course.models import Course, CourseSession from vbv_lernwelt.iam.permissions import has_course_access diff --git a/server/vbv_lernwelt/feedback/graphql/mutations.py b/server/vbv_lernwelt/feedback/graphql/mutations.py index 9b5062c0..24ac5749 100644 --- a/server/vbv_lernwelt/feedback/graphql/mutations.py +++ b/server/vbv_lernwelt/feedback/graphql/mutations.py @@ -8,12 +8,14 @@ from vbv_lernwelt.feedback.graphql.types import ( FeedbackResponseObjectType as FeedbackResponseType, ) from vbv_lernwelt.feedback.serializers import ( + CourseFeedbackSerializerAutomobilGewerbe, CourseFeedbackSerializerUK, CourseFeedbackSerializerVV, ) from vbv_lernwelt.feedback.services import update_feedback_response from vbv_lernwelt.iam.permissions import has_course_session_access from vbv_lernwelt.learnpath.models import ( + LearningContentFeedbackAutomobilGewerbe, LearningContentFeedbackUK, LearningContentFeedbackVV, ) @@ -56,6 +58,10 @@ class SendFeedbackMutation(graphene.Mutation): learningContentFeedbackModel = LearningContentFeedbackUK serializerClass = CourseFeedbackSerializerUK data["feedback_type"] = "uk" + elif learning_content_type == "learnpath.LearningContentFeedbackAutomobilGewerbe": + learningContentFeedbackModel = LearningContentFeedbackAutomobilGewerbe + serializerClass = CourseFeedbackSerializerAutomobilGewerbe + data["feedback_type"] = "automobilgewerbe" else: errors = [ ErrorType( diff --git a/server/vbv_lernwelt/feedback/serializers.py b/server/vbv_lernwelt/feedback/serializers.py index 6a3199be..c460b761 100644 --- a/server/vbv_lernwelt/feedback/serializers.py +++ b/server/vbv_lernwelt/feedback/serializers.py @@ -8,6 +8,7 @@ logger = structlog.get_logger(__name__) FEEDBACK_TYPES = ( ("uk", "Feedback UK"), ("vv", "Feedback VV"), + ("automobilgewerbe", "Feedback Automobilgewerbe"), ) @@ -55,6 +56,21 @@ class CourseFeedbackSerializerVV(serializers.Serializer): ) +class CourseFeedbackSerializerAutomobilGewerbe(serializers.Serializer): + feedback_type = serializers.ChoiceField(choices=FEEDBACK_TYPES) + satisfaction = FeedbackIntegerField() + goal_attainment = FeedbackIntegerField() + proficiency = serializers.IntegerField(required=False, allow_null=True) + materials_rating = FeedbackIntegerField() + would_recommend = serializers.BooleanField(required=False, allow_null=True) + course_positive_feedback = serializers.CharField( + required=False, allow_null=True, allow_blank=True + ) + course_negative_feedback = serializers.CharField( + required=False, allow_null=True, allow_blank=True + ) + + class CypressFeedbackResponseSerializer(serializers.ModelSerializer): class Meta: model = FeedbackResponse diff --git a/server/vbv_lernwelt/learnpath/graphql/types.py b/server/vbv_lernwelt/learnpath/graphql/types.py index d5d07731..8ab49098 100644 --- a/server/vbv_lernwelt/learnpath/graphql/types.py +++ b/server/vbv_lernwelt/learnpath/graphql/types.py @@ -1,6 +1,7 @@ import graphene import structlog from graphene_django import DjangoObjectType + from vbv_lernwelt.core.utils import find_first_index from vbv_lernwelt.course.graphql.interfaces import CoursePageInterface from vbv_lernwelt.learnpath.models import (