7
7
8
8
from .models import Community , BGPSession , RoutingPolicy , RoutingPolicyRule , BGPPeerGroup , PrefixList , PrefixListRule
9
9
from ipam .models import IPAddress , ASN
10
- from dcim .models import Device
10
+ from dcim .models import Device , Site
11
11
12
12
13
13
class CommunityFilterSet (NetBoxModelFilterSet ):
14
- q = django_filters .CharFilter (
15
- method = 'search' ,
16
- label = 'Search' ,
17
- )
18
- tag = TagFilter ()
19
14
20
15
class Meta :
21
16
model = Community
22
- fields = ['value' , 'description' , 'status' , 'tenant' ]
17
+ fields = ['id' , ' value' , 'description' , 'status' , 'tenant' ]
23
18
24
19
def search (self , queryset , name , value ):
25
20
"""Perform the filtered search."""
26
21
if not value .strip ():
27
22
return queryset
28
23
qs_filter = (
29
- Q (id__icontains = value )
30
- | Q (value__icontains = value )
24
+ Q (value__icontains = value )
31
25
| Q (description__icontains = value )
32
26
)
33
27
return queryset .filter (qs_filter )
34
28
35
29
36
30
class BGPSessionFilterSet (NetBoxModelFilterSet ):
37
- q = django_filters .CharFilter (
38
- method = 'search' ,
39
- label = 'Search' ,
40
- )
41
- tag = TagFilter ()
42
31
43
32
remote_as = django_filters .ModelMultipleChoiceFilter (
44
33
field_name = 'remote_as__asn' ,
@@ -109,6 +98,18 @@ class BGPSessionFilterSet(NetBoxModelFilterSet):
109
98
to_field_name = 'name' ,
110
99
label = 'Device (name)' ,
111
100
)
101
+ site_id = django_filters .ModelMultipleChoiceFilter (
102
+ field_name = 'site__id' ,
103
+ queryset = Site .objects .all (),
104
+ to_field_name = 'id' ,
105
+ label = 'Site (ID)' ,
106
+ )
107
+ site = django_filters .ModelMultipleChoiceFilter (
108
+ field_name = 'site__name' ,
109
+ queryset = Site .objects .all (),
110
+ to_field_name = 'name' ,
111
+ label = 'DSite (name)' ,
112
+ )
112
113
by_remote_address = django_filters .CharFilter (
113
114
method = 'search_by_remote_ip' ,
114
115
label = 'Remote Address' ,
@@ -120,7 +121,7 @@ class BGPSessionFilterSet(NetBoxModelFilterSet):
120
121
121
122
class Meta :
122
123
model = BGPSession
123
- fields = ['name' , 'description' , 'status' , 'tenant' ]
124
+ fields = ['id' , ' name' , 'description' , 'status' , 'tenant' ]
124
125
125
126
def search (self , queryset , name , value ):
126
127
"""Perform the filtered search."""
@@ -154,15 +155,10 @@ def search_by_local_ip(self, queryset, name, value):
154
155
155
156
156
157
class RoutingPolicyFilterSet (NetBoxModelFilterSet ):
157
- q = django_filters .CharFilter (
158
- method = 'search' ,
159
- label = 'Search' ,
160
- )
161
- tag = TagFilter ()
162
158
163
159
class Meta :
164
160
model = RoutingPolicy
165
- fields = ['name' , 'description' ]
161
+ fields = ['id' , ' name' , 'description' ]
166
162
167
163
def search (self , queryset , name , value ):
168
164
"""Perform the filtered search."""
@@ -175,12 +171,7 @@ def search(self, queryset, name, value):
175
171
return queryset .filter (qs_filter )
176
172
177
173
178
- class RoutingPolicyRuleFilterSet (django_filters .FilterSet ):
179
- q = django_filters .CharFilter (
180
- method = 'search' ,
181
- label = 'Search' ,
182
- )
183
- tag = TagFilter ()
174
+ class RoutingPolicyRuleFilterSet (NetBoxModelFilterSet ):
184
175
185
176
class Meta :
186
177
model = RoutingPolicyRule
@@ -191,8 +182,7 @@ def search(self, queryset, name, value):
191
182
if not value .strip ():
192
183
return queryset
193
184
qs_filter = (
194
- Q (id__icontains = value )
195
- | Q (index__icontains = value )
185
+ Q (index__icontains = value )
196
186
| Q (action__icontains = value )
197
187
| Q (description__icontains = value )
198
188
| Q (routing_policy_id__icontains = value )
@@ -201,16 +191,11 @@ def search(self, queryset, name, value):
201
191
return queryset .filter (qs_filter )
202
192
203
193
204
- class BGPPeerGroupFilterSet (django_filters .FilterSet ):
205
- q = django_filters .CharFilter (
206
- method = 'search' ,
207
- label = 'Search' ,
208
- )
209
- tag = TagFilter ()
194
+ class BGPPeerGroupFilterSet (NetBoxModelFilterSet ):
210
195
211
196
class Meta :
212
197
model = BGPPeerGroup
213
- fields = ['name' , 'description' ]
198
+ fields = ['id' , ' name' , 'description' ]
214
199
215
200
def search (self , queryset , name , value ):
216
201
"""Perform the filtered search."""
@@ -224,15 +209,10 @@ def search(self, queryset, name, value):
224
209
225
210
226
211
class PrefixListFilterSet (NetBoxModelFilterSet ):
227
- q = django_filters .CharFilter (
228
- method = 'search' ,
229
- label = 'Search' ,
230
- )
231
- tag = TagFilter ()
232
212
233
213
class Meta :
234
214
model = PrefixList
235
- fields = ['name' , 'description' ]
215
+ fields = ['id' , ' name' , 'description' ]
236
216
237
217
def search (self , queryset , name , value ):
238
218
"""Perform the filtered search."""
@@ -244,12 +224,7 @@ def search(self, queryset, name, value):
244
224
)
245
225
return queryset .filter (qs_filter )
246
226
247
- class PrefixListRuleFilterSet (django_filters .FilterSet ):
248
- q = django_filters .CharFilter (
249
- method = 'search' ,
250
- label = 'Search' ,
251
- )
252
- tag = TagFilter ()
227
+ class PrefixListRuleFilterSet (NetBoxModelFilterSet ):
253
228
254
229
class Meta :
255
230
model = PrefixListRule
@@ -261,8 +236,7 @@ def search(self, queryset, name, value):
261
236
if not value .strip ():
262
237
return queryset
263
238
qs_filter = (
264
- Q (id__icontains = value )
265
- | Q (index__icontains = value )
239
+ Q (index__icontains = value )
266
240
| Q (action__icontains = value )
267
241
#| Q(prefix_custom__icontains=value)
268
242
| Q (ge__icontains = value )
0 commit comments