1
+ from cProfile import label
1
2
import imp
2
3
from django import forms
3
4
from django .conf import settings
7
8
from dcim .models import Device , Site , Region , DeviceRole , Location
8
9
9
10
from django import forms
11
+ from dcim .choices import DeviceStatusChoices
10
12
from tenancy .models import TenantGroup , Tenant
11
13
from tenancy .forms import TenancyFilterForm
12
14
from django .conf import settings
13
15
from netbox .forms import NetBoxModelFilterSetForm
14
- from utilities .forms import (TagFilterField , DynamicModelMultipleChoiceField )
16
+ from utilities .forms import (TagFilterField , DynamicModelMultipleChoiceField , MultipleChoiceField )
15
17
16
18
allow_coordinates_saving = settings .PLUGINS_CONFIG ["netbox_topology_views" ]["allow_coordinates_saving" ]
17
19
end2end = settings .PLUGINS_CONFIG ["netbox_topology_views" ]["end2end_connections" ]
@@ -24,7 +26,7 @@ class DeviceFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
24
26
(None , ('tenant_group_id' , 'tenant_id' )),
25
27
(None , ('region_id' , 'site_id' , 'location_id' )),
26
28
(None , ('device_role_id' , 'intermediate_dev_role_id' )),
27
- (None , ('tag' ,)),
29
+ (None , ('tag' , 'status' )),
28
30
)
29
31
30
32
region_id = DynamicModelMultipleChoiceField (
@@ -68,11 +70,17 @@ class DeviceFilterForm(TenancyFilterForm, NetBoxModelFilterSetForm):
68
70
hide_unconnected = forms .BooleanField (
69
71
label = _ ("Hide Unconnected" ),
70
72
required = False ,
71
- initial = False )
72
-
73
+ initial = False
74
+ )
73
75
save_coords = forms .BooleanField (
74
76
label = _ ("Save Coordinates" ),
75
77
required = False ,
76
78
disabled = (not allow_coordinates_saving ),
77
- initial = False )
79
+ initial = False
80
+ )
81
+ status = MultipleChoiceField (
82
+ choices = DeviceStatusChoices ,
83
+ required = False ,
84
+ label = _ ("Device Status" )
85
+ )
78
86
tag = TagFilterField (model )
0 commit comments