This repository has been archived on 2026-07-08. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
vergabe-teilnahme/vergabe_teilnahme/apps/aufgaben/forms.py
2026-05-08 17:43:23 +02:00

64 lines
3.1 KiB
Python

from django import forms
from .models import Aufgabe, Bieterfrage
class AufgabeForm(forms.ModelForm):
class Meta:
model = Aufgabe
fields = [
'titel', 'beschreibung', 'typ', 'prioritaet', 'frist',
'verantwortlicher', 'los', 'anforderung', 'bieterfrage',
]
widgets = {
'titel': forms.TextInput(attrs={'class': 'form-input', 'autofocus': True}),
'beschreibung': forms.Textarea(attrs={'class': 'form-input', 'rows': 3}),
'typ': forms.Select(attrs={'class': 'form-input'}),
'prioritaet': forms.RadioSelect(),
'frist': forms.DateInput(attrs={'class': 'form-input', 'type': 'date'}),
'verantwortlicher': forms.Select(attrs={'class': 'form-input'}),
'los': forms.Select(attrs={'class': 'form-input'}),
'anforderung': forms.Select(attrs={'class': 'form-input'}),
'bieterfrage': forms.Select(attrs={'class': 'form-input'}),
}
def __init__(self, *args, ausschreibung=None, **kwargs):
super().__init__(*args, **kwargs)
if ausschreibung is not None:
from vergabe_teilnahme.apps.lose.models import Anforderung, Los
self.fields['los'].queryset = Los.objects.filter(ausschreibung=ausschreibung)
self.fields['anforderung'].queryset = Anforderung.objects.filter(ausschreibung=ausschreibung)
self.fields['bieterfrage'].queryset = Bieterfrage.objects.filter(ausschreibung=ausschreibung)
self.fields['beschreibung'].required = False
self.fields['frist'].required = False
self.fields['verantwortlicher'].required = False
self.fields['los'].required = False
self.fields['anforderung'].required = False
self.fields['bieterfrage'].required = False
class BieterfragenForm(forms.ModelForm):
class Meta:
model = Bieterfrage
fields = ['fragentext', 'begruendung', 'prioritaet', 'anforderung', 'dokument', 'verfasser']
widgets = {
'fragentext': forms.Textarea(attrs={'class': 'form-input', 'rows': 4, 'autofocus': True}),
'begruendung': forms.Textarea(attrs={'class': 'form-input', 'rows': 3}),
'prioritaet': forms.RadioSelect(),
'anforderung': forms.Select(attrs={'class': 'form-input'}),
'dokument': forms.Select(attrs={'class': 'form-input'}),
'verfasser': forms.Select(attrs={'class': 'form-input'}),
}
def __init__(self, *args, ausschreibung=None, **kwargs):
super().__init__(*args, **kwargs)
if ausschreibung is not None:
from vergabe_teilnahme.apps.lose.models import Anforderung
from vergabe_teilnahme.apps.dokumente.models import Dokument
self.fields['anforderung'].queryset = Anforderung.objects.filter(ausschreibung=ausschreibung)
self.fields['dokument'].queryset = Dokument.objects.filter(ausschreibung=ausschreibung)
self.fields['begruendung'].required = False
self.fields['anforderung'].required = False
self.fields['dokument'].required = False
self.fields['verfasser'].required = False