From 1eb9b97ca95398d0dbb2898e3bb5f7b4ec856d6d Mon Sep 17 00:00:00 2001
From: Rohan Rangray <rrangray@ucsd.edu>
Date: Wed, 20 May 2015 13:36:34 -0700
Subject: [PATCH] Fixed QuizRequestSerializer

---
 flashcards/serializers.py | 10 +++++-----
 flashcards/views.py       |  2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/flashcards/serializers.py b/flashcards/serializers.py
index 441d260..49e1386 100644
--- a/flashcards/serializers.py
+++ b/flashcards/serializers.py
@@ -171,8 +171,8 @@ class QuizRequestSerializer(serializers.Serializer):
     material_date_begin = DateTimeField(default=QUARTER_START)
     material_date_end = DateTimeField(default=QUARTER_END)
 
-    def __init__(self, user, *args, **kwargs):
-        super(QuizRequestSerializer, self).__init__(*args, **kwargs)
+    def __init__(self, user, instance=None, data=empty, **kwargs):
+        super(QuizRequestSerializer, self).__init__(instance=instance, data=data, **kwargs)
         self.user = user
         self.user_flashcard = None
 
@@ -257,9 +257,9 @@ class QuizAnswerRequestSerializer(ModelSerializer):
     response = CharField(required=False, max_length=255, help_text="The user's response")
     correct = BooleanField(required=False, help_text="The user's self-evaluation of their response")
 
-    def __init__(self, instance, data, **kwargs):
-        assert isinstance(instance, UserFlashcardQuiz)
-        super(QuizAnswerRequestSerializer, self).__init__(instance, data, **kwargs)
+    def __init__(self, instance=None, data=empty, **kwargs):
+        assert isinstance(instance, UserFlashcardQuiz) or instance is None
+        super(QuizAnswerRequestSerializer, self).__init__(instance=instance, data=data, **kwargs)
 
     def validate_response(self, response):
         if response is None:
diff --git a/flashcards/views.py b/flashcards/views.py
index ad1d1e1..749ea0a 100644
--- a/flashcards/views.py
+++ b/flashcards/views.py
@@ -350,7 +350,7 @@ class UserFlashcardQuizViewSet(GenericViewSet, CreateModelMixin, UpdateModelMixi
         :param format: Format of the request.
         :return: A response containing
         """
-        serializer = QuizRequestSerializer(data=request.data)
+        serializer = QuizRequestSerializer(user=request.user, data=request.data)
         serializer.is_valid(raise_exception=True)
         user_flashcard_quiz = serializer.create(serializer.validated_data)
         mask = sample(user_flashcard_quiz.user_flashcard.mask.get_random_blank(), 1)
-- 
1.9.1