77from extras .models import *
88from netbox .events import get_event_type_choices
99from netbox .forms import NetBoxModelFilterSetForm , PrimaryModelFilterSetForm
10- from netbox .forms .mixins import OwnerMixin , SavedFiltersMixin
10+ from netbox .forms .mixins import SavedFiltersMixin
1111from tenancy .models import Tenant , TenantGroup
12- from users .models import Group , User
12+ from users .models import Group , Owner , User
1313from utilities .forms import BOOLEAN_WITH_BLANK_CHOICES , FilterForm , add_blank_choice
1414from utilities .forms .fields import (
15- ContentTypeChoiceField , ContentTypeMultipleChoiceField , DynamicModelMultipleChoiceField , TagFilterField ,
15+ ContentTypeChoiceField , ContentTypeMultipleChoiceField , DynamicModelChoiceField , DynamicModelMultipleChoiceField ,
16+ TagFilterField ,
1617)
1718from utilities .forms .rendering import FieldSet
1819from utilities .forms .widgets import DateTimePicker
3839)
3940
4041
41- class CustomFieldFilterForm (SavedFiltersMixin , OwnerMixin , FilterForm ):
42+ class CustomFieldFilterForm (SavedFiltersMixin , FilterForm ):
4243 model = CustomField
4344 fieldsets = (
4445 FieldSet ('q' , 'filter_id' ),
@@ -115,9 +116,14 @@ class CustomFieldFilterForm(SavedFiltersMixin, OwnerMixin, FilterForm):
115116 label = _ ('Validation regex' ),
116117 required = False
117118 )
119+ owner_id = DynamicModelChoiceField (
120+ queryset = Owner .objects .all (),
121+ required = False ,
122+ label = _ ('Owner' ),
123+ )
118124
119125
120- class CustomFieldChoiceSetFilterForm (SavedFiltersMixin , OwnerMixin , FilterForm ):
126+ class CustomFieldChoiceSetFilterForm (SavedFiltersMixin , FilterForm ):
121127 model = CustomFieldChoiceSet
122128 fieldsets = (
123129 FieldSet ('q' , 'filter_id' ),
@@ -130,9 +136,14 @@ class CustomFieldChoiceSetFilterForm(SavedFiltersMixin, OwnerMixin, FilterForm):
130136 choice = forms .CharField (
131137 required = False
132138 )
139+ owner_id = DynamicModelChoiceField (
140+ queryset = Owner .objects .all (),
141+ required = False ,
142+ label = _ ('Owner' ),
143+ )
133144
134145
135- class CustomLinkFilterForm (SavedFiltersMixin , OwnerMixin , FilterForm ):
146+ class CustomLinkFilterForm (SavedFiltersMixin , FilterForm ):
136147 model = CustomLink
137148 fieldsets = (
138149 FieldSet ('q' , 'filter_id' ),
@@ -161,9 +172,14 @@ class CustomLinkFilterForm(SavedFiltersMixin, OwnerMixin, FilterForm):
161172 label = _ ('Weight' ),
162173 required = False
163174 )
175+ owner_id = DynamicModelChoiceField (
176+ queryset = Owner .objects .all (),
177+ required = False ,
178+ label = _ ('Owner' ),
179+ )
164180
165181
166- class ExportTemplateFilterForm (SavedFiltersMixin , OwnerMixin , FilterForm ):
182+ class ExportTemplateFilterForm (SavedFiltersMixin , FilterForm ):
167183 model = ExportTemplate
168184 fieldsets = (
169185 FieldSet ('q' , 'filter_id' , 'object_type_id' ),
@@ -207,6 +223,11 @@ class ExportTemplateFilterForm(SavedFiltersMixin, OwnerMixin, FilterForm):
207223 choices = BOOLEAN_WITH_BLANK_CHOICES
208224 )
209225 )
226+ owner_id = DynamicModelChoiceField (
227+ queryset = Owner .objects .all (),
228+ required = False ,
229+ label = _ ('Owner' ),
230+ )
210231
211232
212233class ImageAttachmentFilterForm (SavedFiltersMixin , FilterForm ):
@@ -226,7 +247,7 @@ class ImageAttachmentFilterForm(SavedFiltersMixin, FilterForm):
226247 )
227248
228249
229- class SavedFilterFilterForm (SavedFiltersMixin , OwnerMixin , FilterForm ):
250+ class SavedFilterFilterForm (SavedFiltersMixin , FilterForm ):
230251 model = SavedFilter
231252 fieldsets = (
232253 FieldSet ('q' , 'filter_id' ),
@@ -255,6 +276,11 @@ class SavedFilterFilterForm(SavedFiltersMixin, OwnerMixin, FilterForm):
255276 label = _ ('Weight' ),
256277 required = False
257278 )
279+ owner_id = DynamicModelChoiceField (
280+ queryset = Owner .objects .all (),
281+ required = False ,
282+ label = _ ('Owner' ),
283+ )
258284
259285
260286class TableConfigFilterForm (SavedFiltersMixin , FilterForm ):
@@ -287,7 +313,7 @@ class TableConfigFilterForm(SavedFiltersMixin, FilterForm):
287313 )
288314
289315
290- class WebhookFilterForm (OwnerMixin , NetBoxModelFilterSetForm ):
316+ class WebhookFilterForm (NetBoxModelFilterSetForm ):
291317 model = Webhook
292318 fieldsets = (
293319 FieldSet ('q' , 'filter_id' , 'tag' , 'owner_id' ),
@@ -306,10 +332,15 @@ class WebhookFilterForm(OwnerMixin, NetBoxModelFilterSetForm):
306332 required = False ,
307333 label = _ ('HTTP method' )
308334 )
335+ owner_id = DynamicModelChoiceField (
336+ queryset = Owner .objects .all (),
337+ required = False ,
338+ label = _ ('Owner' ),
339+ )
309340 tag = TagFilterField (model )
310341
311342
312- class EventRuleFilterForm (OwnerMixin , NetBoxModelFilterSetForm ):
343+ class EventRuleFilterForm (NetBoxModelFilterSetForm ):
313344 model = EventRule
314345 fieldsets = (
315346 FieldSet ('q' , 'filter_id' , 'tag' , 'owner_id' ),
@@ -337,10 +368,15 @@ class EventRuleFilterForm(OwnerMixin, NetBoxModelFilterSetForm):
337368 choices = BOOLEAN_WITH_BLANK_CHOICES
338369 )
339370 )
371+ owner_id = DynamicModelChoiceField (
372+ queryset = Owner .objects .all (),
373+ required = False ,
374+ label = _ ('Owner' ),
375+ )
340376 tag = TagFilterField (model )
341377
342378
343- class TagFilterForm (SavedFiltersMixin , OwnerMixin , FilterForm ):
379+ class TagFilterForm (SavedFiltersMixin , FilterForm ):
344380 model = Tag
345381 content_type_id = ContentTypeMultipleChoiceField (
346382 queryset = ObjectType .objects .with_feature ('tags' ),
@@ -352,6 +388,11 @@ class TagFilterForm(SavedFiltersMixin, OwnerMixin, FilterForm):
352388 required = False ,
353389 label = _ ('Allowed object type' )
354390 )
391+ owner_id = DynamicModelChoiceField (
392+ queryset = Owner .objects .all (),
393+ required = False ,
394+ label = _ ('Owner' ),
395+ )
355396
356397
357398class ConfigContextProfileFilterForm (PrimaryModelFilterSetForm ):
@@ -375,7 +416,7 @@ class ConfigContextProfileFilterForm(PrimaryModelFilterSetForm):
375416 )
376417
377418
378- class ConfigContextFilterForm (SavedFiltersMixin , OwnerMixin , FilterForm ):
419+ class ConfigContextFilterForm (SavedFiltersMixin , FilterForm ):
379420 model = ConfigContext
380421 fieldsets = (
381422 FieldSet ('q' , 'filter_id' , 'tag_id' ),
@@ -469,9 +510,14 @@ class ConfigContextFilterForm(SavedFiltersMixin, OwnerMixin, FilterForm):
469510 required = False ,
470511 label = _ ('Tags' )
471512 )
513+ owner_id = DynamicModelChoiceField (
514+ queryset = Owner .objects .all (),
515+ required = False ,
516+ label = _ ('Owner' ),
517+ )
472518
473519
474- class ConfigTemplateFilterForm (SavedFiltersMixin , OwnerMixin , FilterForm ):
520+ class ConfigTemplateFilterForm (SavedFiltersMixin , FilterForm ):
475521 model = ConfigTemplate
476522 fieldsets = (
477523 FieldSet ('q' , 'filter_id' , 'tag' ),
@@ -511,6 +557,11 @@ class ConfigTemplateFilterForm(SavedFiltersMixin, OwnerMixin, FilterForm):
511557 choices = BOOLEAN_WITH_BLANK_CHOICES
512558 )
513559 )
560+ owner_id = DynamicModelChoiceField (
561+ queryset = Owner .objects .all (),
562+ required = False ,
563+ label = _ ('Owner' ),
564+ )
514565
515566
516567class LocalConfigContextFilterForm (forms .Form ):
0 commit comments