mirror of
https://github.com/netbox-community/netbox.git
synced 2024-05-10 07:54:54 +00:00
#6732 - Fix Site form and ASN form
This commit is contained in:
@ -174,10 +174,13 @@ class SiteForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
|
||||
|
||||
def __init__(self, data=None, instance=None, *args, **kwargs):
|
||||
super().__init__(data=data, instance=instance, *args, **kwargs)
|
||||
|
||||
self.fields['asns'].initial = self.instance.asns.all().values_list('id', flat=True)
|
||||
|
||||
# Hide the ASN field if there is nothing there as this is deprecated
|
||||
if instance is None or \
|
||||
(instance and (instance.asn is None or instance.asn == '')) or \
|
||||
(data and (data.get('asn') is None or instance.get('asn')) == ''):
|
||||
print(f'{instance}')
|
||||
if 'asn' in self.Meta.fieldsets[0][1]:
|
||||
site_fieldset = list(self.Meta.fieldsets[0][1])
|
||||
index = site_fieldset.index('asn')
|
||||
@ -189,6 +192,11 @@ class SiteForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
|
||||
)
|
||||
del self.fields['asn']
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
instance = super().save(*args, **kwargs)
|
||||
instance.asns.set(self.cleaned_data['asns'])
|
||||
return instance
|
||||
|
||||
|
||||
class LocationForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
|
||||
region = DynamicModelChoiceField(
|
||||
|
@ -129,6 +129,11 @@ class ASNForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
|
||||
queryset=RIR.objects.all(),
|
||||
label='RIR',
|
||||
)
|
||||
sites = DynamicModelMultipleChoiceField(
|
||||
queryset=Site.objects.all(),
|
||||
label='Sites',
|
||||
required=False
|
||||
)
|
||||
|
||||
class Meta:
|
||||
model = ASN
|
||||
|
Reference in New Issue
Block a user