def test_question_serializer(answer): with scope(event=answer.question.event): data = AnswerSerializer(answer).data assert set(data.keys()) == { "id", "question", "answer", "answer_file", "submission", "person", "review", "options", } data = QuestionSerializer(answer.question).data assert set(data.keys()) == { "id", "variant", "question", "required", "target", "options", "help_text", "default_answer", "contains_personal_data", "min_length", "max_length", "is_public", "is_visible_to_reviewers", }
def test_question_serializer(answer): data = AnswerSerializer(answer).data assert set(data.keys()) == { 'id', 'question', 'answer', 'answer_file', 'submission', 'person', 'options', } data = QuestionSerializer(answer.question).data assert set(data.keys()) == { 'id', 'question', 'required', 'target', 'options', }
def test_question_serializer(answer): with scope(event=answer.question.event): data = AnswerSerializer(answer).data assert set(data.keys()) == { "id", "question", "answer", "answer_file", "submission", "person", "options", } data = QuestionSerializer(answer.question).data assert set( data.keys()) == {"id", "question", "required", "target", "options"}
class SpeakerOrgaSerializer(SpeakerSerializer): answers = AnswerSerializer(Answer.objects.all(), many=True, read_only=True) def get_submissions(self, obj): return obj.user.submissions.filter(event=obj.event).values_list( 'code', flat=True) class Meta(SpeakerSerializer.Meta): fields = SpeakerSerializer.Meta.fields + ('answers', )
class SubmissionOrgaSerializer(SubmissionSerializer): answers = AnswerSerializer(many=True) class Meta: model = Submission fields = SubmissionSerializer.Meta.fields + [ 'answers', 'notes', 'internal_notes', ]
class SubmissionOrgaSerializer(SubmissionSerializer): answers = AnswerSerializer(many=True) created = SerializerMethodField() def get_created(self, obj): return obj.created.astimezone(obj.event.tz).isoformat() class Meta(SubmissionSerializer.Meta): fields = SubmissionSerializer.Meta.fields + [ "created", "answers", "notes", "internal_notes", ]
class SpeakerOrgaSerializer(SpeakerSerializer): email = CharField(source="user.email") answers = AnswerSerializer(Answer.objects.none(), many=True, read_only=True) availabilities = AvailabilitySerializer( Availability.objects.none(), many=True, read_only=True ) def get_submissions(self, obj): return obj.user.submissions.filter(event=obj.event).values_list( "code", flat=True ) class Meta(SpeakerSerializer.Meta): fields = SpeakerSerializer.Meta.fields + ("answers", "email", "availabilities")
class SubmissionOrgaSerializer(SubmissionSerializer): answers = AnswerSerializer(many=True) created = SerializerMethodField() def get_created(self, obj): return obj.created.astimezone(obj.event.tz).isoformat() class Meta: model = Submission fields = SubmissionSerializer.Meta.fields + [ 'created', 'answers', 'notes', 'internal_notes', ]
class ReviewSerializer(I18nAwareModelSerializer): submission = SubmissionSerializer() answers = AnswerSerializer(many=True) user = serializers.SlugRelatedField(slug_field='nick', read_only=True) class Meta: model = Review fields = ( 'id', 'submission', 'user', 'text', 'score', 'override_vote', 'created', 'updated', 'answers', )
class SubmissionReviewerSerializer(SubmissionOrgaSerializer): answers = AnswerSerializer(many=True, source="reviewer_answers") class Meta(SubmissionOrgaSerializer.Meta): pass
def get_answers(self, obj): if self.is_orga: return AnswerSerializer(Answer.objects.filter(submission=obj), many=True).data return []
class SpeakerReviewerSerializer(SpeakerOrgaSerializer): answers = AnswerSerializer(many=True, source="reviewer_answers") class Meta(SpeakerOrgaSerializer.Meta): pass
def get_answers(self, obj): return AnswerSerializer(Answer.objects.filter(review=obj), many=True).data