From 49b2a169e5356b3ce05987ba7b8f342a4f47c0c9 Mon Sep 17 00:00:00 2001 From: "J.-S. Caux" <J.S.Caux@uva.nl> Date: Tue, 8 Jan 2019 09:39:05 +0100 Subject: [PATCH] Add guest Fellows to EICRecommendation admin --- submissions/admin.py | 21 +++++++++++++-------- submissions/forms.py | 2 +- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/submissions/admin.py b/submissions/admin.py index aa29d66a9..675ff958b 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 48c05b872..d243bf406 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( -- GitLab