diff --git a/longs/forms.py b/longs/forms.py index 3ebe3e3b..4b259292 100755 --- a/longs/forms.py +++ b/longs/forms.py @@ -93,7 +93,7 @@ class LongSeriesForm(ModelForm): class LongForm(ModelForm): - exams = ModelMultipleChoiceField(required=False, queryset=Exam.objects.all(),widget=FilteredSelectMultiple(verbose_name="Exams", is_stacked=False)) + #exams = ModelMultipleChoiceField(required=False, queryset=Exam.objects.all(),widget=FilteredSelectMultiple(verbose_name="Exams", is_stacked=False)) class Media: # Django also includes a few javascript files necessary @@ -125,6 +125,17 @@ class LongForm(ModelForm): ModelForm.__init__(self, *args, **kwargs) + if self.user.groups.filter(name="long_checker").exists(): + exam_queryset = Exam.objects.all() + else: + exam_queryset = Exam.objects.filter(author__id=self.user.id) | Exam.objects.filter(open_access=True) + + self.fields["exams"] = ModelMultipleChoiceField( + required=False, + queryset=exam_queryset, + widget=FilteredSelectMultiple(verbose_name="Exams", is_stacked=False), + ) + class Meta: model = Long # fields = ['due_back'] diff --git a/rapids/forms.py b/rapids/forms.py index f7f9a785..d2f6b0dd 100755 --- a/rapids/forms.py +++ b/rapids/forms.py @@ -115,7 +115,7 @@ class RapidForm(ModelForm): if self.user.groups.filter(name="rapid_checker").exists(): exam_queryset = Exam.objects.all() else: - exam_queryset = Exam.objects.filter(author__id=self.user.id) + exam_queryset = Exam.objects.filter(author__id=self.user.id) | Exam.objects.filter(open_access=True) self.fields["exams"] = ModelMultipleChoiceField(