Files
vergabe-teilnahme/vergabe_teilnahme/apps/lose/forms.py

53 lines
2.3 KiB
Python

from django import forms
from vergabe_teilnahme.apps.accounts.models import Mitarbeiter
from .models import Anforderung, Los
class LosForm(forms.ModelForm):
class Meta:
model = Los
fields = ['losnummer', 'lostitel', 'beschreibung', 'abgrenzung', 'zustaendiger', 'teilnahme']
widgets = {
'losnummer': forms.TextInput(attrs={'class': 'form-input', 'autofocus': True}),
'lostitel': forms.TextInput(attrs={'class': 'form-input'}),
'beschreibung': forms.Textarea(attrs={'class': 'form-input', 'rows': 3}),
'abgrenzung': forms.Textarea(attrs={'class': 'form-input', 'rows': 3}),
'zustaendiger': forms.Select(attrs={'class': 'form-input'}),
'teilnahme': forms.NullBooleanSelect(attrs={'class': 'form-input'}),
}
def __init__(self, *args, **kwargs):
ausschreibung = kwargs.pop('ausschreibung', None)
super().__init__(*args, **kwargs)
self.fields['teilnahme'].required = False
class AnforderungForm(forms.ModelForm):
class Meta:
model = Anforderung
fields = [
'titel', 'beschreibung', 'quelle_im_dokument', 'kategorie', 'verbindlichkeit',
'ausschlusskriterium', 'bewertungskriterium', 'zustaendiger',
'erfuellungsstatus', 'nachweis_erforderlich', 'los',
]
widgets = {
'titel': forms.TextInput(attrs={'class': 'form-input', 'autofocus': True}),
'beschreibung': forms.Textarea(attrs={'class': 'form-input', 'rows': 3}),
'quelle_im_dokument': forms.TextInput(attrs={'class': 'form-input'}),
'kategorie': forms.Select(attrs={'class': 'form-input'}),
'verbindlichkeit': forms.RadioSelect(),
'zustaendiger': forms.Select(attrs={'class': 'form-input'}),
'erfuellungsstatus': forms.Select(attrs={'class': 'form-input'}),
'los': forms.Select(attrs={'class': 'form-input'}),
}
def __init__(self, *args, ausschreibung=None, **kwargs):
super().__init__(*args, **kwargs)
if ausschreibung is not None:
self.fields['los'].queryset = Los.objects.filter(ausschreibung=ausschreibung)
self.fields['los'].required = False
self.fields['zustaendiger'].required = False
self.fields['kategorie'].required = False