mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-22 03:56:53 -06:00
Fixed selector initializations for TenancyForms
This commit is contained in:
parent
473b35f9a3
commit
ed80bfaf02
@ -219,14 +219,17 @@ class CircuitTerminationForm(BootstrapMixin, ChainedFieldsMixin, forms.ModelForm
|
|||||||
'term_side': forms.HiddenInput(),
|
'term_side': forms.HiddenInput(),
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, instance=None, initial=None, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
|
|
||||||
# Initialize helper selectors
|
# Initialize helper selectors
|
||||||
|
instance = kwargs.get('instance')
|
||||||
if instance and instance.interface is not None:
|
if instance and instance.interface is not None:
|
||||||
|
initial = kwargs.get('initial', {})
|
||||||
initial['rack'] = instance.interface.device.rack
|
initial['rack'] = instance.interface.device.rack
|
||||||
initial['device'] = instance.interface.device
|
initial['device'] = instance.interface.device
|
||||||
|
kwargs['initial'] = initial
|
||||||
|
|
||||||
super(CircuitTerminationForm, self).__init__(instance=instance, initial=initial, *args, **kwargs)
|
super(CircuitTerminationForm, self).__init__(*args, **kwargs)
|
||||||
|
|
||||||
# Mark connected interfaces as disabled
|
# Mark connected interfaces as disabled
|
||||||
self.fields['interface'].choices = [
|
self.fields['interface'].choices = [
|
||||||
|
@ -592,13 +592,16 @@ class DeviceForm(BootstrapMixin, TenancyForm, CustomFieldForm):
|
|||||||
'face': forms.Select(attrs={'filter-for': 'position'}),
|
'face': forms.Select(attrs={'filter-for': 'position'}),
|
||||||
}
|
}
|
||||||
|
|
||||||
def __init__(self, instance=None, initial=None, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
|
|
||||||
# Initialize helper selections
|
# Initialize helper selectors
|
||||||
|
instance = kwargs.get('instance')
|
||||||
if instance and instance.device_type is not None:
|
if instance and instance.device_type is not None:
|
||||||
|
initial = kwargs.get('initial', {})
|
||||||
initial['manufacturer'] = instance.device_type.manufacturer
|
initial['manufacturer'] = instance.device_type.manufacturer
|
||||||
|
kwargs['initial'] = initial
|
||||||
|
|
||||||
super(DeviceForm, self).__init__(instance=instance, initial=initial, *args, **kwargs)
|
super(DeviceForm, self).__init__(*args, **kwargs)
|
||||||
|
|
||||||
if self.instance.pk:
|
if self.instance.pk:
|
||||||
|
|
||||||
|
@ -405,21 +405,22 @@ class IPAddressForm(BootstrapMixin, TenancyForm, ReturnURLForm, CustomFieldForm)
|
|||||||
'tenant',
|
'tenant',
|
||||||
]
|
]
|
||||||
|
|
||||||
def __init__(self, instance=None, initial=None, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
|
|
||||||
# Initialize interface selectors
|
# Initialize helper selectors
|
||||||
|
instance = kwargs.get('instance')
|
||||||
|
initial = kwargs.get('initial', {})
|
||||||
if instance and instance.interface is not None:
|
if instance and instance.interface is not None:
|
||||||
initial['interface_site'] = instance.interface.device.site
|
initial['interface_site'] = instance.interface.device.site
|
||||||
initial['interface_rack'] = instance.interface.device.rack
|
initial['interface_rack'] = instance.interface.device.rack
|
||||||
initial['interface_device'] = instance.interface.device
|
initial['interface_device'] = instance.interface.device
|
||||||
|
|
||||||
# Initialize NAT selectors
|
|
||||||
if instance and instance.nat_inside is not None:
|
if instance and instance.nat_inside is not None:
|
||||||
initial['nat_site'] = instance.nat_inside.device.site
|
initial['nat_site'] = instance.nat_inside.device.site
|
||||||
initial['nat_rack'] = instance.nat_inside.device.rack
|
initial['nat_rack'] = instance.nat_inside.device.rack
|
||||||
initial['nat_device'] = instance.nat_inside.device
|
initial['nat_device'] = instance.nat_inside.device
|
||||||
|
kwargs['initial'] = initial
|
||||||
|
|
||||||
super(IPAddressForm, self).__init__(instance=instance, initial=initial, *args, **kwargs)
|
super(IPAddressForm, self).__init__(*args, **kwargs)
|
||||||
|
|
||||||
self.fields['vrf'].empty_label = 'Global'
|
self.fields['vrf'].empty_label = 'Global'
|
||||||
|
|
||||||
|
@ -91,9 +91,8 @@ class TenancyForm(ChainedFieldsMixin, forms.Form):
|
|||||||
# Initialize helper selector
|
# Initialize helper selector
|
||||||
instance = kwargs.get('instance')
|
instance = kwargs.get('instance')
|
||||||
if instance and instance.tenant is not None:
|
if instance and instance.tenant is not None:
|
||||||
try:
|
initial = kwargs.get('initial', {})
|
||||||
kwargs['initial']['tenant_group'] = instance.tenant.group
|
initial['tenant_group'] = instance.tenant.group
|
||||||
except KeyError:
|
kwargs['initial'] = initial
|
||||||
kwargs['initial'] = {'tenant_group': instance.tenant.group}
|
|
||||||
|
|
||||||
super(TenancyForm, self).__init__(*args, **kwargs)
|
super(TenancyForm, self).__init__(*args, **kwargs)
|
||||||
|
Loading…
Reference in New Issue
Block a user