mirror of
https://github.com/netbox-community/netbox.git
synced 2025-08-01 21:36:25 -06:00
Move vlan/interface-specific field operations to an overrideable method
This commit is contained in:
parent
e66695b059
commit
c4aac4ea42
@ -2616,6 +2616,13 @@ class InterfaceBulkEditView(generic.BulkEditView):
|
|||||||
table = tables.InterfaceTable
|
table = tables.InterfaceTable
|
||||||
form = forms.InterfaceBulkEditForm
|
form = forms.InterfaceBulkEditForm
|
||||||
|
|
||||||
|
def extra_object_field_operations(self, form, obj):
|
||||||
|
# Add/remove tagged VLANs
|
||||||
|
if form.cleaned_data.get('add_tagged_vlans', None):
|
||||||
|
obj.tagged_vlans.add(*form.cleaned_data['add_tagged_vlans'])
|
||||||
|
if form.cleaned_data.get('remove_tagged_vlans', None):
|
||||||
|
obj.tagged_vlans.remove(*form.cleaned_data['remove_tagged_vlans'])
|
||||||
|
|
||||||
|
|
||||||
class InterfaceBulkRenameView(generic.BulkRenameView):
|
class InterfaceBulkRenameView(generic.BulkRenameView):
|
||||||
queryset = Interface.objects.all()
|
queryset = Interface.objects.all()
|
||||||
|
@ -541,6 +541,9 @@ class BulkEditView(GetReturnURLMixin, BaseMultiObjectView):
|
|||||||
def get_required_permission(self):
|
def get_required_permission(self):
|
||||||
return get_permission_for_model(self.queryset.model, 'change')
|
return get_permission_for_model(self.queryset.model, 'change')
|
||||||
|
|
||||||
|
def extra_object_field_operations(self, form, obj):
|
||||||
|
pass
|
||||||
|
|
||||||
def _update_objects(self, form, request):
|
def _update_objects(self, form, request):
|
||||||
custom_fields = getattr(form, 'custom_fields', {})
|
custom_fields = getattr(form, 'custom_fields', {})
|
||||||
standard_fields = [
|
standard_fields = [
|
||||||
@ -615,11 +618,7 @@ class BulkEditView(GetReturnURLMixin, BaseMultiObjectView):
|
|||||||
if form.cleaned_data.get('remove_tags', None):
|
if form.cleaned_data.get('remove_tags', None):
|
||||||
obj.tags.remove(*form.cleaned_data['remove_tags'])
|
obj.tags.remove(*form.cleaned_data['remove_tags'])
|
||||||
|
|
||||||
# Add/remove tagged VLANs
|
self.extra_object_field_operations(form, obj)
|
||||||
if form.cleaned_data.get('add_tagged_vlans', None):
|
|
||||||
obj.tagged_vlans.add(*form.cleaned_data['add_tagged_vlans'])
|
|
||||||
if form.cleaned_data.get('remove_tagged_vlans', None):
|
|
||||||
obj.tagged_vlans.remove(*form.cleaned_data['remove_tagged_vlans'])
|
|
||||||
|
|
||||||
# Rebuild the tree for MPTT models
|
# Rebuild the tree for MPTT models
|
||||||
if issubclass(self.queryset.model, MPTTModel):
|
if issubclass(self.queryset.model, MPTTModel):
|
||||||
|
Loading…
Reference in New Issue
Block a user