From 16e4831f905853190119e664be343b40f2422d09 Mon Sep 17 00:00:00 2001
From: "robinwilliam.hundt" <robinwilliam.hundt@stud.uni-goettingen.de>
Date: Thu, 6 Dec 2018 14:45:24 +0100
Subject: [PATCH] Added StudentExportSerializer

---
 core/serializers/student.py | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/core/serializers/student.py b/core/serializers/student.py
index 32f7c379..2f7c070e 100644
--- a/core/serializers/student.py
+++ b/core/serializers/student.py
@@ -3,7 +3,8 @@ from rest_framework import serializers
 from core.models import StudentInfo
 from core.serializers import DynamicFieldsModelSerializer, ExamSerializer
 from core.serializers.submission import (SubmissionListSerializer,
-                                         SubmissionNoTextFieldsSerializer)
+                                         SubmissionNoTextFieldsSerializer,
+                                         SubmissionNoTypeSerializer)
 
 
 class StudentInfoSerializer(DynamicFieldsModelSerializer):
@@ -42,3 +43,24 @@ class StudentInfoForListViewSerializer(DynamicFieldsModelSerializer):
                   'matrikel_no',
                   'passes_exam',
                   'is_active')
+
+
+class StudentExportSerializer(DynamicFieldsModelSerializer):
+    name = serializers.ReadOnlyField(source='user.fullname')
+    user = serializers.ReadOnlyField(source='user.username')
+    user_pk = serializers.ReadOnlyField(source='user.pk')
+    exam = serializers.ReadOnlyField(source='exam.pk')
+    is_active = serializers.BooleanField(source='user.is_active')
+    submissions = SubmissionNoTypeSerializer(many=True)
+
+    class Meta:
+        model = StudentInfo
+        fields = ('pk',
+                  'name',
+                  'user',
+                  'user_pk',
+                  'exam',
+                  'submissions',
+                  'matrikel_no',
+                  'passes_exam',
+                  'is_active')
-- 
GitLab