Further user management improvements
This commit is contained in:
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user