From: yomguy Date: Thu, 24 Jan 2013 22:59:24 +0000 (+0100) Subject: fix revisions X-Git-Tag: 0.9-probarreau~108 X-Git-Url: https://git.parisson.com/?a=commitdiff_plain;h=64321d567193bfb39bd996f6ff43f0d107594da4;p=teleforma.git fix revisions --- diff --git a/teleforma/views/pro.py b/teleforma/views/pro.py index 26474c41..509b3727 100644 --- a/teleforma/views/pro.py +++ b/teleforma/views/pro.py @@ -96,6 +96,13 @@ def render_to_pdf(request, template, context, filename=None, encoding='utf-8', return HttpResponse('Errors rendering pdf:
%s
' % 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)