SciPost Code Repository

Skip to content
Snippets Groups Projects
forms.py 1.02 KiB
Newer Older
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'))