@@ -142,14 +142,6 @@ def get_table(self, data, request, bulk_actions=True):
142
142
return super ().get_table (data , request , bulk_actions = bulk_actions )
143
143
144
144
145
- class CustomObjectModelMixin :
146
- def get_model (self , custom_object_type ):
147
- model = custom_object_type .get_model ()
148
- get_serializer_class (model )
149
- custom_object_type .register_custom_object_search_index (model )
150
- return model
151
-
152
-
153
145
#
154
146
# Custom Object Types
155
147
#
@@ -164,17 +156,17 @@ class CustomObjectTypeListView(generic.ObjectListView):
164
156
165
157
166
158
@register_model_view (CustomObjectType )
167
- class CustomObjectTypeView (CustomObjectTableMixin , CustomObjectModelMixin , generic .ObjectView ):
159
+ class CustomObjectTypeView (CustomObjectTableMixin , generic .ObjectView ):
168
160
queryset = CustomObjectType .objects .all ()
169
161
170
162
def get_table (self , data , request , bulk_actions = True ):
171
163
self .custom_object_type = self .get_object (** self .kwargs )
172
- model = self .get_model ( self . custom_object_type )
164
+ model = self .custom_object_type . get_model_with_serializer ( )
173
165
data = model .objects .all ()
174
166
return super ().get_table (data , request , bulk_actions = False )
175
167
176
168
def get_extra_context (self , request , instance ):
177
- model = self . get_model ( instance )
169
+ model = instance . get_model_with_serializer ( )
178
170
179
171
# Get fields and group them by group_name
180
172
fields = instance .fields .all ().order_by ("group_name" , "weight" , "name" )
@@ -202,13 +194,13 @@ class CustomObjectTypeEditView(generic.ObjectEditView):
202
194
203
195
204
196
@register_model_view (CustomObjectType , "delete" )
205
- class CustomObjectTypeDeleteView (CustomObjectModelMixin , generic .ObjectDeleteView ):
197
+ class CustomObjectTypeDeleteView (generic .ObjectDeleteView ):
206
198
queryset = CustomObjectType .objects .all ()
207
199
default_return_url = "plugins:netbox_custom_objects:customobjecttype_list"
208
200
209
201
def _get_dependent_objects (self , obj ):
210
202
dependent_objects = super ()._get_dependent_objects (obj )
211
- model = self . get_model ( obj )
203
+ model = obj . get_model_with_serializer ( )
212
204
dependent_objects [model ] = list (model .objects .all ())
213
205
214
206
# Find CustomObjectTypeFields that reference this CustomObjectType
@@ -235,7 +227,7 @@ class CustomObjectTypeFieldEditView(generic.ObjectEditView):
235
227
236
228
237
229
@register_model_view (CustomObjectTypeField , "delete" )
238
- class CustomObjectTypeFieldDeleteView (CustomObjectModelMixin , generic .ObjectDeleteView ):
230
+ class CustomObjectTypeFieldDeleteView (generic .ObjectDeleteView ):
239
231
template_name = "netbox_custom_objects/field_delete.html"
240
232
queryset = CustomObjectTypeField .objects .all ()
241
233
@@ -252,7 +244,7 @@ def get(self, request, *args, **kwargs):
252
244
obj = self .get_object (** kwargs )
253
245
form = ConfirmationForm (initial = request .GET )
254
246
255
- model = self . get_model ( obj .custom_object_type )
247
+ model = obj .custom_object_type . get_model_with_serializer ( )
256
248
kwargs = {
257
249
f"{ obj .name } __isnull" : False ,
258
250
}
@@ -289,7 +281,7 @@ def get(self, request, *args, **kwargs):
289
281
290
282
def _get_dependent_objects (self , obj ):
291
283
dependent_objects = super ()._get_dependent_objects (obj )
292
- model = self . get_model ( obj .custom_object_type )
284
+ model = obj .custom_object_type . get_model_with_serializer ( )
293
285
kwargs = {
294
286
f"{ obj .name } __isnull" : False ,
295
287
}
@@ -323,7 +315,7 @@ class CustomObjectTypeBulkDeleteView(generic.BulkDeleteView):
323
315
#
324
316
325
317
326
- class CustomObjectListView (CustomObjectTableMixin , CustomObjectModelMixin , generic .ObjectListView ):
318
+ class CustomObjectListView (CustomObjectTableMixin , generic .ObjectListView ):
327
319
queryset = None
328
320
custom_object_type = None
329
321
template_name = "netbox_custom_objects/custom_object_list.html"
@@ -341,7 +333,7 @@ def get_queryset(self, request):
341
333
self .custom_object_type = get_object_or_404 (
342
334
CustomObjectType , slug = custom_object_type
343
335
)
344
- model = self .get_model ( self . custom_object_type )
336
+ model = self .custom_object_type . get_model_with_serializer ( )
345
337
return model .objects .all ()
346
338
347
339
def get_filterset (self ):
@@ -379,23 +371,23 @@ def get_extra_context(self, request):
379
371
380
372
381
373
@register_model_view (CustomObject )
382
- class CustomObjectView (CustomObjectModelMixin , generic .ObjectView ):
374
+ class CustomObjectView (generic .ObjectView ):
383
375
template_name = "netbox_custom_objects/customobject.html"
384
376
385
377
def get_queryset (self , request ):
386
378
custom_object_type = self .kwargs .get ("custom_object_type" , None )
387
379
object_type = get_object_or_404 (
388
380
CustomObjectType , slug = custom_object_type
389
381
)
390
- model = self . get_model ( object_type )
382
+ model = object_type . get_model_with_serializer ( )
391
383
return model .objects .all ()
392
384
393
385
def get_object (self , ** kwargs ):
394
386
custom_object_type = self .kwargs .get ("custom_object_type" , None )
395
387
object_type = get_object_or_404 (
396
388
CustomObjectType , slug = custom_object_type
397
389
)
398
- model = self . get_model ( object_type )
390
+ model = object_type . get_model_with_serializer ( )
399
391
# Filter out custom_object_type from kwargs for the object lookup
400
392
lookup_kwargs = {
401
393
k : v for k , v in self .kwargs .items () if k != "custom_object_type"
@@ -422,7 +414,7 @@ def get_extra_context(self, request, instance):
422
414
423
415
424
416
@register_model_view (CustomObject , "edit" )
425
- class CustomObjectEditView (CustomObjectModelMixin , generic .ObjectEditView ):
417
+ class CustomObjectEditView (generic .ObjectEditView ):
426
418
template_name = "netbox_custom_objects/customobject_edit.html"
427
419
form = None
428
420
queryset = None
@@ -445,7 +437,7 @@ def get_object(self, **kwargs):
445
437
object_type = get_object_or_404 (
446
438
CustomObjectType , slug = custom_object_type
447
439
)
448
- model = self . get_model ( object_type )
440
+ model = object_type . get_model_with_serializer ( )
449
441
450
442
if not self .kwargs .get ("pk" , None ):
451
443
# We're creating a new object
@@ -583,7 +575,7 @@ def custom_save(self, commit=True):
583
575
584
576
585
577
@register_model_view (CustomObject , "delete" )
586
- class CustomObjectDeleteView (CustomObjectModelMixin , generic .ObjectDeleteView ):
578
+ class CustomObjectDeleteView (generic .ObjectDeleteView ):
587
579
queryset = None
588
580
object = None
589
581
default_return_url = "plugins:netbox_custom_objects:customobject_list"
@@ -603,7 +595,7 @@ def get_object(self, **kwargs):
603
595
object_type = get_object_or_404 (
604
596
CustomObjectType , slug = custom_object_type
605
597
)
606
- model = self . get_model ( object_type )
598
+ model = object_type . get_model_with_serializer ( )
607
599
return get_object_or_404 (model .objects .all (), ** self .kwargs )
608
600
609
601
def get_return_url (self , request , obj = None ):
@@ -624,7 +616,7 @@ def get_return_url(self, request, obj=None):
624
616
625
617
626
618
@register_model_view (CustomObject , "bulk_edit" , path = "edit" , detail = False )
627
- class CustomObjectBulkEditView (CustomObjectTableMixin , CustomObjectModelMixin , generic .BulkEditView ):
619
+ class CustomObjectBulkEditView (CustomObjectTableMixin , generic .BulkEditView ):
628
620
queryset = None
629
621
custom_object_type = None
630
622
table = None
@@ -643,7 +635,7 @@ def get_queryset(self, request):
643
635
self .custom_object_type = CustomObjectType .objects .get (
644
636
slug = custom_object_type
645
637
)
646
- model = self .get_model ( self . custom_object_type )
638
+ model = self .custom_object_type . get_model_with_serializer ( )
647
639
return model .objects .all ()
648
640
649
641
def get_form (self , queryset ):
@@ -683,7 +675,7 @@ def get_form(self, queryset):
683
675
684
676
685
677
@register_model_view (CustomObject , "bulk_delete" , path = "delete" , detail = False )
686
- class CustomObjectBulkDeleteView (CustomObjectTableMixin , CustomObjectModelMixin , generic .BulkDeleteView ):
678
+ class CustomObjectBulkDeleteView (CustomObjectTableMixin , generic .BulkDeleteView ):
687
679
queryset = None
688
680
custom_object_type = None
689
681
table = None
@@ -701,12 +693,12 @@ def get_queryset(self, request):
701
693
self .custom_object_type = CustomObjectType .objects .get (
702
694
slug = custom_object_type
703
695
)
704
- model = self .get_model ( self . custom_object_type )
696
+ model = self .custom_object_type . get_model_with_serializer ( )
705
697
return model .objects .all ()
706
698
707
699
708
700
@register_model_view (CustomObject , "bulk_import" , path = "import" , detail = False )
709
- class CustomObjectBulkImportView (CustomObjectModelMixin , generic .BulkImportView ):
701
+ class CustomObjectBulkImportView (generic .BulkImportView ):
710
702
queryset = None
711
703
model_form = None
712
704
@@ -730,7 +722,7 @@ def get_queryset(self, request):
730
722
self .custom_object_type = CustomObjectType .objects .get (
731
723
name__iexact = custom_object_type
732
724
)
733
- model = self .get_model ( self . custom_object_type )
725
+ model = self .custom_object_type . get_model_with_serializer ( )
734
726
return model .objects .all ()
735
727
736
728
def get_model_form (self , queryset ):
@@ -766,7 +758,7 @@ def get_model_form(self, queryset):
766
758
return form
767
759
768
760
769
- class CustomObjectJournalView (ConditionalLoginRequiredMixin , CustomObjectModelMixin , View ):
761
+ class CustomObjectJournalView (ConditionalLoginRequiredMixin , View ):
770
762
"""
771
763
Custom journal view for CustomObject instances.
772
764
Shows all journal entries for a custom object.
@@ -782,7 +774,7 @@ def get(self, request, custom_object_type, **kwargs):
782
774
object_type = get_object_or_404 (
783
775
CustomObjectType , slug = custom_object_type
784
776
)
785
- model = self . get_model ( object_type )
777
+ model = object_type . get_model_with_serializer ( )
786
778
787
779
# Get the specific object
788
780
lookup_kwargs = {k : v for k , v in kwargs .items () if k != "custom_object_type" }
@@ -838,7 +830,7 @@ def get(self, request, custom_object_type, **kwargs):
838
830
)
839
831
840
832
841
- class CustomObjectChangeLogView (ConditionalLoginRequiredMixin , CustomObjectModelMixin , View ):
833
+ class CustomObjectChangeLogView (ConditionalLoginRequiredMixin , View ):
842
834
"""
843
835
Custom changelog view for CustomObject instances.
844
836
Shows all changes made to a custom object.
@@ -854,7 +846,7 @@ def get(self, request, custom_object_type, **kwargs):
854
846
object_type = get_object_or_404 (
855
847
CustomObjectType , slug = custom_object_type
856
848
)
857
- model = self . get_model ( object_type )
849
+ model = object_type . get_model_with_serializer ( )
858
850
859
851
# Get the specific object
860
852
lookup_kwargs = {k : v for k , v in kwargs .items () if k != "custom_object_type" }
0 commit comments