- fehlende Prefixe beim Speichern von IP-Adressen automatisch erstellen - VRF, Mandant, Standort und Lokation übernehmen - bestehende IP-Adressen per Management-Command abgleichen - filterbare IP-Netzübersicht für Regionen, Standorte und Mandanten ergänzen - NetBox 4.6.5 unterstützen
30 lines
1.2 KiB
Python
30 lines
1.2 KiB
Python
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
|