from django import forms from dcim.models import Location, Region, Site, SiteGroup from tenancy.models import Tenant, TenantGroup class NetworkOverviewFilterForm(forms.Form): q = forms.CharField(required=False, label="Suche") organization = forms.ModelChoiceField( queryset=Region.objects.all(), required=False, label="Organisation / Region" ) site_group = forms.ModelChoiceField( queryset=SiteGroup.objects.all(), required=False, label="Standortgruppe" ) site = forms.ModelChoiceField(queryset=Site.objects.all(), required=False, label="Standort") location = forms.ModelChoiceField( queryset=Location.objects.all(), required=False, label="Lokation" ) tenant_group = forms.ModelChoiceField( queryset=TenantGroup.objects.all(), required=False, label="Mandantengruppe" ) tenant = forms.ModelChoiceField( queryset=Tenant.objects.all(), required=False, label="Mandant" ) def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) for field in self.fields.values(): css_class = "form-select" if isinstance(field.widget, forms.Select) else "form-control" field.widget.attrs["class"] = css_class