{% block course_content %}
+{% if not can_access %}
+ <br/>
+ <p class="alert error">Vous n'avez pas accès à ce quizz car vous n'avez pas complété les étapes 1 et/ou 2.</p>
+ <br/>
+ <p>
+ <a href="{% url teleforma-seminar-detail seminar.id %}" class="component_icon button icon_next"> {% trans "Back" %} au séminaire</a>
+ </p>
+ <br/>
+{% else %}
+
{% if previous.answers %}
<p class="muted"><small>{% trans "The previous question" %}:</small></p>
</form>
<br>
{% endif %}
+{% endif %}
<hr>
<span>Votre quiz est validé.</span><br><br>
<a href="{% url teleforma-seminar-detail seminar.id %}" class="component_icon button icon_next"> {% trans "Back" %} au séminaire</a>
{% else %}
- <span>Vous devez recommencer le quiz.</span><br><br>
- <a href="{% url teleforma-quiz seminar.id seminar.quiz.url %}" class="component_icon button icon_previous"> {% trans "Recommencer" %}</a>
+ <span>Vous devez revalider l'étape 1, puis recommencer le quiz.</span><br><br>
+ <a href="{% url teleforma-seminar-detail seminar.id %}" class="component_icon button icon_next"> {% trans "Back" %} au séminaire</a>
{% endif %}
{% endif %}
user_id = self.request.user.id
return User.objects.get(id=user_id)
+ def can_access(self):
+ user = self.get_user()
+ for items in [self.seminar.docs_1, self.seminar.medias]:
+ for item in items.all():
+ if item.weight:
+ if user not in item.readers.all():
+ return False
+ return True
+
def get_context_data(self, **kwargs):
context = super(QuizQuestionView, self).get_context_data(**kwargs)
user = self.get_user()
self.seminar = Seminar.objects.get(pk=self.kwargs['pk'])
+ context['can_access'] = self.can_access()
context['seminar'] = self.seminar
context['seminar_progress'] = seminar_progress(user, self.seminar)
return context
'sitting': self.sitting,
'previous': self.previous,
'seminar': self.seminar,
+ 'can_access': True
}
self.sitting.mark_quiz_complete()
if self.sitting.get_percent_correct >= self.quiz.pass_mark:
validation = QuizValidation(user=user, quiz=self.seminar.quiz, validated=True)
validation.save()
+ else:
+ # revert step 1 validation
+ for doc in self.seminar.docs_1.all():
+ doc.readers.remove(user)
+ doc.save()
return render(self.request, 'quiz/result.html', results)