]> git.parisson.com Git - teleforma.git/commitdiff
fix revisions
authoryomguy <yomguy@parisson.com>
Thu, 24 Jan 2013 22:59:24 +0000 (23:59 +0100)
committeryomguy <yomguy@parisson.com>
Thu, 24 Jan 2013 22:59:24 +0000 (23:59 +0100)
teleforma/views/pro.py

index 26474c4194f56bc1b00eaa268c784d46f70afefe..509b372770426b503cdfca183d93d597ba538c5f 100644 (file)
@@ -96,6 +96,13 @@ def render_to_pdf(request, template, context, filename=None, encoding='utf-8',
     return HttpResponse('Errors rendering pdf:<pre>%s</pre>' % escape(content))
 
 
+def set_revision(user, seminar):
+    revisions = SeminarRevision.objects.filter(seminar=seminar, user=user)
+    if revisions:
+        revision[0].save()
+    else:
+        SeminarRevision.objects.create(seminar=seminar, user=user)
+
 class SeminarView(DetailView):
 
     model = Seminar
@@ -117,11 +124,10 @@ class SeminarView(DetailView):
             messages.info(self.request, _("You have successfully terminated your e-learning seminar. A training testimonial will be available as soon as the pedagogical team validate all your answers (48h maximum)."))
         elif validated:
             messages.info(self.request, _("All your answers have been validated! You can now download the training testimonial below."))
-        revision, c = SeminarRevision.objects.get_or_create(seminar=seminar, user=user)
-        if not c:
-            revision.save()
+        set_revision(user, seminar)
         return context
 
+
 class SeminarsView(ListView):
 
     model = Seminar
@@ -177,9 +183,7 @@ class AnswerView(FormView):
         context['status'] = self.status
         context['seminar'] = self.question.seminar
         context['seminar_progress'] = seminar_progress(user, self.question.seminar)
-        revision, c = SeminarRevision.objects.get_or_create(seminar=self.question.seminar, user=user)
-        if not c:
-            revision.save()
+        set_revision(user, seminar)
         return context
 
     def get_success_url(self):
@@ -200,9 +204,7 @@ class SeminarMediaView(MediaView):
         context['seminar'] = seminar
         context['media'] = media
         context['seminar_progress'] = seminar_progress(user, seminar)
-        revision, c = SeminarRevision.objects.get_or_create(seminar=seminar, user=user)
-        if not c:
-            revision.save()
+        set_revision(user, seminar)
         return context
 
     def get_object(self, queryset=None):
@@ -463,9 +465,7 @@ def evaluation_form_detail(request, pk, template='teleforma/evaluation_form.html
     context['seminar'] = seminar
     context['form'] = form
     context['seminar_progress'] = seminar_progress(user, seminar)
-    revision, c = SeminarRevision.objects.get_or_create(seminar=seminar, user=user)
-    if not c:
-        revision.save()
+    set_revision(user, seminar)
     return render_to_response(template, context, request_context)