]> git.parisson.com Git - teleforma.git/commitdiff
try to fix : int() argument must be a string or a number, not 'SimpleLazyObject'
authorGuillaume Pellerin <yomguy@parisson.com>
Thu, 26 Dec 2013 10:34:05 +0000 (11:34 +0100)
committerGuillaume Pellerin <yomguy@parisson.com>
Thu, 26 Dec 2013 10:34:05 +0000 (11:34 +0100)
http://stackoverflow.com/questions/15878860/int-argument-must-be-a-string-or-a-number-not-simplelazyobject

teleforma/views/pro.py

index cc48a39cdffed5f9b4f796d1dd1a95f4961bde21..17ffac2364fc26d2e9d2dd4a5029046c60267fdd 100644 (file)
@@ -161,10 +161,15 @@ class AnswerView(SeminarAccessMixin, FormView):
     form_class = AnswerForm
     template_name='teleforma/answer_form.html'
 
+    def get_user(self):
+        user_id = self.request.user.id
+        return User.objects.get(id=user_id)
+
     def get_initial(self):
         initial = {}
         self.question = Question.objects.get(pk=self.kwargs['pk'])
-        answers = Answer.objects.filter(user=self.request.user,
+        self.user = self.get_user()
+        answers = Answer.objects.filter(user=self.user,
                                         question=self.question).order_by('-date_submitted')
         if answers:
             answer = answers[0]
@@ -177,7 +182,7 @@ class AnswerView(SeminarAccessMixin, FormView):
 
     def form_valid(self, form):
         answer = form.instance
-        answer.user = self.request.user
+        answer.user = self.get_user()
         answer.question = self.question
         answer.save()
         if answer.status <= 2:
@@ -194,7 +199,7 @@ class AnswerView(SeminarAccessMixin, FormView):
 
     def get_context_data(self, **kwargs):
         context = super(AnswerView, self).get_context_data(**kwargs)
-        user = self.request.user
+        user = self.get_user()
         context['question'] = self.question
         context['status'] = self.status
         context['seminar'] = self.question.seminar