Further user management improvements

This commit is contained in:
Ross
2022-11-28 12:13:20 +00:00
parent 747bf93373
commit 77687327ea
13 changed files with 206 additions and 57 deletions
+19
View File
@@ -1,3 +1,4 @@
from collections import defaultdict
from django.contrib.auth.mixins import LoginRequiredMixin
from django.db import models
from django.http import HttpRequest
@@ -619,6 +620,13 @@ class CidUserExam(models.Model):
# TODO switch to json field?
results_emailed_status = models.CharField(max_length=255, blank=True)
CID_GROUP_EXAMS = (
("SBAs", "sba_cid_user_groups"),
("Physics", "physics_cid_user_groups"),
("Anatomy", "anatomy_cid_user_groups"),
("Rapids", "rapid_cid_user_groups"),
("Longs", "longs_cid_user_groups"),
)
class CidUserGroup(models.Model):
name = models.CharField(blank=True, max_length=50)
@@ -633,8 +641,19 @@ class CidUserGroup(models.Model):
s = ", ".join([f"{user.id} - {user.name}" for user in cid_users])
return s
def GetGroupExams(self):
exams = defaultdict(list)
for t, rel in CID_GROUP_EXAMS:
exam_rel = getattr(self, rel)
if exam_rel.exists():
exams[t].extend(exam_rel.all())
return dict(exams)
def get_absolute_url(self):
return reverse("generic:cid_group_update", kwargs={"pk": self.pk})
class UserUserGroup(models.Model):