diff --git a/submissions/admin.py b/submissions/admin.py index aa29d66a95b08419105c46fc592faefea9bea131..675ff958b93cf2e8a8038ff023f564c81e809111 100644 --- a/submissions/admin.py +++ b/submissions/admin.py @@ -3,6 +3,7 @@ __license__ = "AGPL v3" from django.contrib import admin +from django.db.models import Q from django import forms from guardian.admin import GuardedModelAdmin @@ -207,23 +208,27 @@ class EICRecommendationAdminForm(forms.ModelForm): eligible_to_vote = forms.ModelMultipleChoiceField( required=False, queryset=Contributor.objects.filter( - user__groups__name__in=['Editorial College'], - ).order_by('user__last_name')) + Q(user__groups__name__in=['Editorial College']) | + Q(fellowships__isnull=False), + ).distinct().order_by('user__last_name')) voted_for = forms.ModelMultipleChoiceField( required=False, queryset=Contributor.objects.filter( - user__groups__name__in=['Editorial College'], - ).order_by('user__last_name')) + Q(user__groups__name__in=['Editorial College']) | + Q(fellowships__isnull=False), + ).distinct().order_by('user__last_name')) voted_against = forms.ModelMultipleChoiceField( required=False, queryset=Contributor.objects.filter( - user__groups__name__in=['Editorial College'], - ).order_by('user__last_name')) + Q(user__groups__name__in=['Editorial College']) | + Q(fellowships__isnull=False), + ).distinct().order_by('user__last_name')) voted_abstain = forms.ModelMultipleChoiceField( required=False, queryset=Contributor.objects.filter( - user__groups__name__in=['Editorial College'], - ).order_by('user__last_name')) + Q(user__groups__name__in=['Editorial College']) | + Q(fellowships__isnull=False), + ).distinct().order_by('user__last_name')) class Meta: model = EICRecommendation diff --git a/submissions/forms.py b/submissions/forms.py index 48c05b872b648868efc2442a10389c52ca325516..d243bf406f3ec5ff95a5eda0abb76292fbcfeecf 100644 --- a/submissions/forms.py +++ b/submissions/forms.py @@ -949,7 +949,7 @@ class VotingEligibilityForm(forms.ModelForm): fields = () def __init__(self, *args, **kwargs): - """Get queryset of Contributors eligibile for voting.""" + """Get queryset of Contributors eligible for voting.""" super().__init__(*args, **kwargs) self.fields['eligible_fellows'].queryset = Contributor.objects.filter( fellowships__pool=self.instance.submission).filter(