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
+24 -1
View File
@@ -11,7 +11,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
@@ -170,6 +170,21 @@ class Exam(ExamBase):
settings.AUTH_USER_MODEL, blank=True, related_name="user_sba_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="sba_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="sba_user_user_groups"
)
def get_take_url(self):
return reverse("sbas:exam_start", kwargs={"pk": self.pk})
@@ -189,6 +204,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_sbas_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