generated from coulomb/repo-seed
53 lines
2.3 KiB
Python
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
|