This commit is contained in:
Ross
2024-01-08 13:32:00 +00:00
parent 5d210c2696
commit f4c098b339
6 changed files with 139 additions and 15 deletions
+12 -3
View File
@@ -563,6 +563,15 @@ class ExamCollectionGenericBase(models.Model):
authors = [i for i in self.author.all()]
return authors
def check_user_can_edit(self, user: User):
if user.is_superuser:
return True
if user in self.get_author_objects():
return True
return False
def check_logged_in_user(self, request: HttpRequest):
"""Helper to check if the logged in user can access the exam"""
return self.check_cid_user(request=request, user_id=request.user.id)
@@ -905,7 +914,7 @@ class ExamBase(ExamCollectionGenericBase):
class ExamUserStatus(models.Model):
datetime = models.DateTimeField(auto_now_add=True)
cid_user = models.ForeignKey(
cid_user: "CidUser" = models.ForeignKey(
"CidUser", blank=True, null=True, on_delete=models.SET_NULL
)
user_user = models.ForeignKey(
@@ -923,10 +932,10 @@ class ExamUserStatus(models.Model):
if self.cid_user:
user = self.cid_user.cid
email = self.cid_user.email_field
return f"{self.datetime}: {user} () - {self.status} ({self.extra})"
return f"{self.datetime:%Y-%m-%d %H:%M:%S}: {user} ({email}) - {self.status} ({self.extra})"
else:
user = self.user_user.username
return f"{self.datetime}: {user} - {self.status} ({self.extra})"
return f"{self.datetime:%Y-%m-%d %H:%M:%S}: {user} - {self.status} ({self.extra})"
class UserAnswerBase(models.Model):