1
0
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:
Daniel Sheppard
2021-10-28 13:57:36 -05:00
parent 9565addcd4
commit 0a8788eb97
2 changed files with 14 additions and 1 deletions

View File

@ -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(

View File

@ -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