Start using start dates for exams

This commit is contained in:
Ross
2024-07-08 09:52:01 +01:00
parent 00fa68247d
commit df462efacd
49 changed files with 235 additions and 293 deletions
+5
View File
@@ -47,6 +47,7 @@ from generic.models import (
CidUserExam,
CidUserGroup,
ExamOrCollectionGenericBase,
ExamUserStatus,
Examination,
# Condition,
ExamBase,
@@ -775,6 +776,8 @@ class CaseCollection(ExamOrCollectionGenericBase):
help_text="If true allows users self complete and review cases in a self directed way.",
)
exam_user_status = GenericRelation(ExamUserStatus)
feedback_once_collection_complete = models.BooleanField(default=True, help_text="If true feedback is only given once the collection is complete. If false feedback is given after each case.")
class COLLECTION_TYPE_CHOICES(models.TextChoices):
@@ -996,6 +999,8 @@ class CaseDetail(models.Model):
question_schema = models.JSONField(null=True, blank=True)
question_answers = models.JSONField(null=True, blank=True)
# TODO add feedback for questions
#question_feedback = models.JSONField(null=True, blank=True)
sort_order = models.IntegerField(default=1000)
@@ -177,7 +177,7 @@
{% endif %}
</div>
<details><summary>View questions</summary>
<details><summary class="opacity-50">View questions</summary>
{{form.json.errors}}
<div class="form-contents">
<fieldset {% if question_completed %}disabled="disabled"{% endif %}>
@@ -1,7 +1,7 @@
{% extends 'atlas/base.html' %}
{% block content %}
<h2>Collection: {{exam.name}}</h2>
<h2>Collection: {{exam}}</h2>
{% comment %} <ul>
{% for case in collection.cases.all %}
+1 -1
View File
@@ -9,6 +9,6 @@
<h3>My cases / collections</h3>
View my <a href='{% url "atlas:case_view" %}?author={{request.user.id}}'>cases</a>.<br/>
<a href="{% url 'atlas:user_uploads' %}"><button><i class="bi bi-cloud-arrow-up"></i> Uploads awaiting import</button></a>
<a href="{% url 'atlas:user_uploads' %}"><i class="bi bi-cloud-arrow-up"></i> Uploads awaiting import</a>
{% endblock %}
+10
View File
@@ -1914,6 +1914,16 @@ def collection_take_overview(
cid_user_exam.completed = True
cid_user_exam.save()
if cid is not None:
c = CidUser.objects.get(cid=cid)
collection.exam_user_status.create(
cid_user=c, user_user=None, status="submitted", extra="manual submission"
)
else:
collection.exam_user_status.create(
cid_user=None, user_user=request.user, status="submitted", extra="manual submission"
)
return HttpResponse("True")
else:
raise Http404()