improve exam group management

This commit is contained in:
Ross
2024-08-12 10:33:15 +01:00
parent bd1bb54f9f
commit 6fe2bae8a8
22 changed files with 352 additions and 155 deletions
+43 -16
View File
@@ -107,21 +107,21 @@ class ExamFormMixin:
def __init__(self, *args, user, **kwargs) -> None:
super(ModelForm, self).__init__(*args, **kwargs)
if user.is_superuser or user.groups.filter(name="cid_user_manager").exists():
cid_user_group_queryset = CidUserGroup.objects.filter(archive=False)
user_user_group_queryset = UserUserGroup.objects.filter(archive=False)
else:
cid_user_group_queryset = CidUserGroup.objects.none()
user_user_group_queryset = UserUserGroup.objects.none()
#if user.is_superuser or user.groups.filter(name="cid_user_manager").exists():
# cid_user_group_queryset = CidUserGroup.objects.filter(archive=False)
# user_user_group_queryset = UserUserGroup.objects.filter(archive=False)
#else:
# cid_user_group_queryset = CidUserGroup.objects.none()
# user_user_group_queryset = UserUserGroup.objects.none()
self.fields["cid_user_groups"] = ModelMultipleChoiceField(
required=False,
queryset=cid_user_group_queryset,
)
self.fields["user_user_groups"] = ModelMultipleChoiceField(
required=False,
queryset=user_user_group_queryset,
)
#self.fields["cid_user_groups"] = ModelMultipleChoiceField(
# required=False,
# queryset=cid_user_group_queryset,
#)
#self.fields["user_user_groups"] = ModelMultipleChoiceField(
# required=False,
# queryset=user_user_group_queryset,
#)
self.fields["start_date"] = SplitDateTimeFieldDefaultTime(
widget=SplitDateTimeWidget(
date_attrs={"type": "date", "class": "datepicker"},
@@ -155,8 +155,8 @@ class ExamFormMixin:
"active",
"publish_results",
"archive",
"cid_user_groups",
"user_user_groups",
#"cid_user_groups",
#"user_user_groups",
# "author",
]
@@ -198,6 +198,32 @@ class ExamMarkerFormMixin(ModelForm):
self.fields["markers"].required = False
class ExamGroupsFormMixin(ModelForm):
class Meta:
#model = ExamCollection
fields = ("cid_user_groups", "user_user_groups")
def __init__(self, *args, user, **kwargs) -> None:
super(ModelForm, self).__init__(*args, **kwargs)
if user.is_superuser or user.groups.filter(name="cid_user_manager").exists():
cid_user_group_queryset = CidUserGroup.objects.filter(archive=False)
user_user_group_queryset = UserUserGroup.objects.filter(archive=False)
else:
cid_user_group_queryset = CidUserGroup.objects.none()
user_user_group_queryset = UserUserGroup.objects.none()
#cid_user_group_queryset = CidUserGroup.objects.none()
#user_user_group_queryset = UserUserGroup.objects.none()
self.fields["cid_user_groups"] = ModelMultipleChoiceField(
required=False,
queryset=cid_user_group_queryset,
)
self.fields["user_user_groups"] = ModelMultipleChoiceField(
required=False,
queryset=user_user_group_queryset,
)
class ExaminationForm(ModelForm):
def __init__(self, *args, **kwargs):
@@ -704,3 +730,4 @@ class ExamCollectionCloneForm(ModelForm):
class Meta:
model = ExamCollection
fields = ("name", "date")