1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

#6732 - Revert some changes to legacy ASN field on site model

* Re-instates ASN field on Site model
* Re-instates ASN field on Site view
* Re-instates ASN field on edit form and API, except for where forms instances are new (add site) or instance does not have any existing AS data
* Does not re-instate asn field on SiteBulkEditForm
* Does not re-instate ASN field on SiteTable
* Does not re-instate filter for filterset, but does allow filtering by query (q=34342)
* Does not include tests for ASN field on Site model due to planned deprecation
This commit is contained in:
Daniel Sheppard
2021-10-27 22:25:31 -05:00
parent 3185cd0b1f
commit 8235b339ee
6 changed files with 30 additions and 23 deletions

View File

@@ -122,13 +122,14 @@ class SiteForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
class Meta:
model = Site
fields = [
'name', 'slug', 'status', 'region', 'group', 'tenant_group', 'tenant', 'facility', 'asns', 'time_zone',
'description', 'physical_address', 'shipping_address', 'latitude', 'longitude', 'contact_name',
'name', 'slug', 'status', 'region', 'group', 'tenant_group', 'tenant', 'facility', 'asn', 'asns',
'time_zone', 'description', 'physical_address', 'shipping_address', 'latitude', 'longitude', 'contact_name',
'contact_phone', 'contact_email', 'comments', 'tags',
]
fieldsets = (
('Site', (
'name', 'slug', 'status', 'region', 'group', 'facility', 'asns', 'time_zone', 'description', 'tags',
'name', 'slug', 'status', 'region', 'group', 'facility', 'asn', 'asns', 'time_zone', 'description',
'tags',
)),
('Tenancy', ('tenant_group', 'tenant')),
('Contact Info', (
@@ -152,6 +153,7 @@ class SiteForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
}
help_texts = {
'name': "Full name of the site",
'asn': "BGP autonomous system number. This field is depreciated in favour of the many-to-many field for ASNs",
'facility': "Data center provider and facility (e.g. Equinix NY7)",
'time_zone': "Local time zone",
'description': "Short description (will appear in sites list)",
@@ -161,6 +163,18 @@ class SiteForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
'longitude': "Longitude in decimal format (xx.yyyyyy)"
}
def __init__(self, instance, *args, **kwargs):
super(SiteForm, self).__init__(instance=instance, *args, **kwargs)
if instance is None or (instance and (instance.asn is None or instance.asn == '')):
site_fieldset = list(self.Meta.fieldsets[0][1])
site_fieldset.pop(6)
self.Meta.fieldsets = (
('Site', tuple(site_fieldset)),
self.Meta.fieldsets[1],
self.Meta.fieldsets[2],
)
del self.fields['asn']
class LocationForm(BootstrapMixin, TenancyForm, CustomFieldModelForm):
region = DynamicModelChoiceField(