This commit is contained in:
Ross
2022-05-21 22:09:37 +01:00
parent 851e681400
commit 781b6bc1fe
26 changed files with 311 additions and 70 deletions
+25 -2
View File
@@ -12,7 +12,7 @@ from django.utils.translation import gettext_lazy as _
from sortedm2m.fields import SortedManyToManyField
from generic.models import CidUser, ExamBase, QuestionNote
from generic.models import CidUser, CidUserGroup, ExamBase, QuestionNote, UserUserGroup
import reversion
@@ -131,7 +131,7 @@ class Question(models.Model):
return [self.a, self.b, self.c, self.d, self.e]
@reversion.register
#@reversion.register
class Exam(ExamBase):
app_name = "physics"
@@ -160,6 +160,21 @@ class Exam(ExamBase):
settings.AUTH_USER_MODEL, blank=True, related_name="user_physics_exams"
)
cid_user_groups = models.ManyToManyField(
CidUserGroup,
blank=True,
help_text="These groups define which candidates are able to be added to the exams/collection.",
related_name="physics_cid_user_groups"
)
user_user_groups = models.ManyToManyField(
UserUserGroup,
blank=True,
help_text="These groups define which candidates are able to be added to the exams/collection.",
related_name="physics_user_user_groups"
)
def get_take_url(self):
return reverse("physics:exam_start", kwargs={"pk": self.pk})
@@ -179,6 +194,14 @@ class CidUserAnswer(models.Model):
cid = models.IntegerField(blank=True, null=True)
user = models.ForeignKey(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE,
blank=True,
null=True,
related_name="user_physics_user_answers",
)
# Each user answer is associated with a particular exam
exam = models.ForeignKey(
Exam, related_name="cid_user_answers", on_delete=models.CASCADE, null=True