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/ausschreibungen/forms.py
2026-05-14 02:57:27 +02:00

44 lines
2.8 KiB
Python

from django import forms
from .models import Ausschreibung
class AusschreibungForm(forms.ModelForm):
class Meta:
model = Ausschreibung
fields = [
'titel', 'ausschreiber', 'vergabeplattform', 'vergabenummer', 'vergabeart', 'rechtsgrundlage', 'rechtsgrundlage_details',
'fundstelle_url', 'bid_manager', 'leistungsbeschreibung',
'branche', 'schlagwoerter', 'geschaetztes_volumen',
'veroeffentlichungsdatum', 'bieterfragen_bis', 'abgabe_bis', 'bindefrist', 'bindefrist_tage',
'unterlagen_erhalten', 'unterlagen_erhalten_am',
'teilnahmeentscheidung', 'entscheidungsbegruendung',
]
widgets = {
'titel': forms.TextInput(attrs={'class': 'form-input', 'autofocus': True}),
'ausschreiber': forms.TextInput(attrs={'class': 'form-input'}),
'vergabeplattform': forms.TextInput(attrs={'class': 'form-input'}),
'vergabenummer': forms.TextInput(attrs={'class': 'form-input'}),
'vergabeart': forms.Select(attrs={'class': 'form-input'}),
'rechtsgrundlage': forms.Select(attrs={'class': 'form-input'}),
'rechtsgrundlage_details': forms.Textarea(attrs={'class': 'form-input', 'rows': 2, 'placeholder': 'z.B. Verfahrensart, Schwellenwert, Besonderheiten…'}),
'fundstelle_url': forms.URLInput(attrs={'class': 'form-input'}),
'bid_manager': forms.Select(attrs={'class': 'form-input'}),
'leistungsbeschreibung': forms.Textarea(attrs={'class': 'form-input', 'rows': 4}),
'branche': forms.TextInput(attrs={'class': 'form-input'}),
'schlagwoerter': forms.TextInput(attrs={'class': 'form-input'}),
'geschaetztes_volumen': forms.NumberInput(attrs={'class': 'form-input'}),
'veroeffentlichungsdatum': forms.DateInput(attrs={'class': 'form-input', 'type': 'date'}, format='%Y-%m-%d'),
'bieterfragen_bis': forms.DateInput(attrs={'class': 'form-input', 'type': 'date'}, format='%Y-%m-%d'),
'abgabe_bis': forms.DateTimeInput(attrs={'class': 'form-input', 'type': 'datetime-local'}, format='%Y-%m-%dT%H:%M'),
'bindefrist': forms.DateInput(attrs={'class': 'form-input', 'type': 'date'}, format='%Y-%m-%d'),
'bindefrist_tage': forms.NumberInput(attrs={'class': 'form-input', 'min': '1', 'placeholder': 'Tage'}),
'unterlagen_erhalten_am': forms.DateInput(attrs={'class': 'form-input', 'type': 'date'}, format='%Y-%m-%d'),
'teilnahmeentscheidung': forms.Select(attrs={'class': 'form-input'}),
'entscheidungsbegruendung': forms.Textarea(attrs={'class': 'form-input', 'rows': 3}),
}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields['teilnahmeentscheidung'].required = False