Add Coordinate models, forms, views, templates,...

This commit is contained in:
dreng
2023-05-06 22:57:12 +02:00
parent fe83a62615
commit 60c272acb7
18 changed files with 452 additions and 9 deletions
+51 -1
View File
@@ -15,12 +15,13 @@ from django.conf import settings
from netbox.forms import NetBoxModelFilterSetForm, NetBoxModelForm
from utilities.forms.fields import (
TagFilterField,
DynamicModelChoiceField,
DynamicModelMultipleChoiceField,
MultipleChoiceField
)
from .models import IndividualOptions
from .models import IndividualOptions, CoordinateGroups, Coordinates
class DeviceFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
model = Device
@@ -141,6 +142,55 @@ class DeviceFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
label =_("Show Wireless Links"), required=False, initial=False
)
class CoordinateGroupsForm(NetBoxModelForm):
fieldsets = (
('Group Details', ('name', 'description')),
)
class Meta:
model = CoordinateGroups
fields = ('name', 'description')
class CoordinatesForm(NetBoxModelForm):
fieldsets = (
('Coordinates', ('group', 'device', 'x', 'y')),
)
class Meta:
model = Coordinates
fields = ('group', 'device', 'x', 'y')
class CoordinatesFilterForm(NetBoxModelFilterSetForm):
model = Coordinates
group = forms.ModelMultipleChoiceField(
queryset=CoordinateGroups.objects.all(),
required=False
)
device = DynamicModelChoiceField(
queryset=Device.objects.all(),
required=False
)
id = DynamicModelMultipleChoiceField(
queryset=Device.objects.all(),
required=False,
label=_("Device"),
query_params={
"location_id": "$location_id",
"region_id": "$region_id",
"site_id": "$site_id",
"role_id": "$device_role_id",
},
)
x = forms.IntegerField(
required=False
)
y = forms.IntegerField(
required=False
)
class IndividualOptionsForm(NetBoxModelForm):
fieldsets = (
(