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