SciPost Code Repository

Skip to content
Snippets Groups Projects
forms.py 1.12 KiB
Newer Older
__copyright__ = "Copyright 2016-2018, Stichting SciPost (SciPost Foundation)"
__license__ = "AGPL v3"


from django import forms

from .models import Funder, Grant

Jorran de Wit's avatar
Jorran de Wit committed
from scipost.forms import HttpRefererFormMixin
from scipost.models import Contributor


class FunderRegistrySearchForm(forms.Form):
    name = forms.CharField(max_length=128)


class FunderForm(forms.ModelForm):
    class Meta:
        model = Funder
Jorran de Wit's avatar
Jorran de Wit committed
        fields = ['name', 'acronym', 'identifier']
class FunderSelectForm(forms.Form):
    funder = forms.ModelChoiceField(queryset=Funder.objects.all())


Jorran de Wit's avatar
Jorran de Wit committed
class GrantForm(HttpRefererFormMixin, forms.ModelForm):
        fields = ['funder', 'number', 'recipient_name', 'recipient', 'further_details']
    def __init__(self, *args, **kwargs):
Jorran de Wit's avatar
Jorran de Wit committed
        super().__init__(*args, **kwargs)
        self.fields['recipient'] = forms.ModelChoiceField(
Jorran de Wit's avatar
Jorran de Wit committed
            queryset=Contributor.objects.select_related('user').order_by('user__last_name'),
            required=False)

class GrantSelectForm(forms.Form):
Jorran de Wit's avatar
Jorran de Wit committed
    grant = forms.ModelChoiceField(queryset=Grant.objects.all().select_related('funder'))