Commit 084b9507 by Muhammad Shoaib

added the UserSerializer

parent ae47a13d
"""Defines serializers used by the Proctoring API.""" """Defines serializers used by the Proctoring API."""
from rest_framework import serializers from rest_framework import serializers
from django.contrib.auth.models import User
from edx_proctoring.models import ProctoredExam, ProctoredExamStudentAttempt, ProctoredExamStudentAllowance from edx_proctoring.models import ProctoredExam, ProctoredExamStudentAttempt, ProctoredExamStudentAllowance
...@@ -16,6 +17,21 @@ class StrictBooleanField(serializers.BooleanField): ...@@ -16,6 +17,21 @@ class StrictBooleanField(serializers.BooleanField):
return None return None
class UserSerializer(serializers.ModelSerializer):
"""
"""
class Meta:
"""
Meta Class
"""
model = User
fields = (
"id", "username", "email"
)
class ProctoredExamSerializer(serializers.ModelSerializer): class ProctoredExamSerializer(serializers.ModelSerializer):
""" """
Serializer for the ProctoredExam Model. Serializer for the ProctoredExam Model.
...@@ -42,6 +58,25 @@ class ProctoredExamSerializer(serializers.ModelSerializer): ...@@ -42,6 +58,25 @@ class ProctoredExamSerializer(serializers.ModelSerializer):
) )
class UserSerializer(serializers.ModelSerializer):
"""
Serializer for the User Model.
"""
id = serializers.IntegerField(required=False)
username = serializers.CharField(required=True)
email = serializers.CharField(required=True)
class Meta:
"""
Meta Class
"""
model = User
fields = (
"id", "username", "email"
)
class ProctoredExamStudentAttemptSerializer(serializers.ModelSerializer): class ProctoredExamStudentAttemptSerializer(serializers.ModelSerializer):
""" """
Serializer for the ProctoredExamStudentAttempt Model. Serializer for the ProctoredExamStudentAttempt Model.
...@@ -65,6 +100,7 @@ class ProctoredExamStudentAllowanceSerializer(serializers.ModelSerializer): ...@@ -65,6 +100,7 @@ class ProctoredExamStudentAllowanceSerializer(serializers.ModelSerializer):
Serializer for the ProctoredExamStudentAllowance Model. Serializer for the ProctoredExamStudentAllowance Model.
""" """
proctored_exam = ProctoredExamSerializer() proctored_exam = ProctoredExamSerializer()
user = serializers.SerializerMethodField('get_user')
class Meta: class Meta:
""" """
...@@ -74,3 +110,9 @@ class ProctoredExamStudentAllowanceSerializer(serializers.ModelSerializer): ...@@ -74,3 +110,9 @@ class ProctoredExamStudentAllowanceSerializer(serializers.ModelSerializer):
fields = ( fields = (
"id", "created", "modified", "user", "key", "value", "proctored_exam" "id", "created", "modified", "user", "key", "value", "proctored_exam"
) )
def get_user(self, allowance_object):
"""
returns the user object in a serialized form
"""
return UserSerializer(User.objects.get(id=allowance_object.user_id)).data
...@@ -26,8 +26,12 @@ ...@@ -26,8 +26,12 @@
<td> <td>
<%- interpolate(gettext(' %(exam_display_name)s '), { exam_display_name: proctored_exam_allowance.proctored_exam.exam_name }, true) %> <%- interpolate(gettext(' %(exam_display_name)s '), { exam_display_name: proctored_exam_allowance.proctored_exam.exam_name }, true) %>
</td> </td>
<td> Dummy Username </td> <td>
<td>muhammad.shoaib@gmail.com</td> <%- interpolate(gettext(' %(username)s '), { username: proctored_exam_allowance.user.username }, true) %>
</td>
<td>
<%- interpolate(gettext(' %(email)s '), { email: proctored_exam_allowance.user.email }, true) %>
</td>
<td> <td>
<%- interpolate(gettext(' %(allowance_name)s '), { allowance_name: proctored_exam_allowance.key }, true) %> <%- interpolate(gettext(' %(allowance_name)s '), { allowance_name: proctored_exam_allowance.key }, true) %>
</td> </td>
......
...@@ -372,7 +372,6 @@ class ExamAllowanceView(AuthenticatedAPIView): ...@@ -372,7 +372,6 @@ class ExamAllowanceView(AuthenticatedAPIView):
""" """
HTTP GET handler. Get all allowances for a course. HTTP GET handler. Get all allowances for a course.
""" """
result_set = get_allowances_for_course( result_set = get_allowances_for_course(
course_id=course_id course_id=course_id
) )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment