mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-26 18:38:38 -06:00
Merge branch 'develop' into 5450-api-serializer-count-fields
This commit is contained in:
commit
8e3b3f8c21
@ -1,12 +1,16 @@
|
|||||||
# NetBox v2.10
|
# NetBox v2.10
|
||||||
|
|
||||||
## v2.10.1 (Future Release)
|
## v2.10.1 (FUTURE)
|
||||||
|
|
||||||
### Bug Fixes
|
### Bug Fixes
|
||||||
|
|
||||||
* [#5450](https://github.com/netbox-community/netbox/issues/5450) - API serializer foreign count fields do not have a default value
|
* [#5450](https://github.com/netbox-community/netbox/issues/5450) - API serializer foreign count fields do not have a default value
|
||||||
|
* [#5453](https://github.com/netbox-community/netbox/issues/5453) - Correct change log representation when creating a cable
|
||||||
* [#5458](https://github.com/netbox-community/netbox/issues/5458) - Creating a component template throws an exception
|
* [#5458](https://github.com/netbox-community/netbox/issues/5458) - Creating a component template throws an exception
|
||||||
* [#5461](https://github.com/netbox-community/netbox/issues/5461) - Rack Elevations throw reverse match exception
|
* [#5461](https://github.com/netbox-community/netbox/issues/5461) - Rack Elevations throw reverse match exception
|
||||||
|
* [#5463](https://github.com/netbox-community/netbox/issues/5463) - Back-to-back Circuit Termination throws AttributeError exception
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## v2.10.0 (2020-12-14)
|
## v2.10.0 (2020-12-14)
|
||||||
|
|
||||||
|
@ -139,7 +139,7 @@ class CircuitView(generic.ObjectView):
|
|||||||
).filter(
|
).filter(
|
||||||
circuit=instance, term_side=CircuitTerminationSideChoices.SIDE_A
|
circuit=instance, term_side=CircuitTerminationSideChoices.SIDE_A
|
||||||
).first()
|
).first()
|
||||||
if termination_a and termination_a.connected_endpoint:
|
if termination_a and termination_a.connected_endpoint and hasattr(termination_a.connected_endpoint, 'ip_addresses'):
|
||||||
termination_a.ip_addresses = termination_a.connected_endpoint.ip_addresses.restrict(request.user, 'view')
|
termination_a.ip_addresses = termination_a.connected_endpoint.ip_addresses.restrict(request.user, 'view')
|
||||||
|
|
||||||
# Z-side termination
|
# Z-side termination
|
||||||
@ -148,7 +148,7 @@ class CircuitView(generic.ObjectView):
|
|||||||
).filter(
|
).filter(
|
||||||
circuit=instance, term_side=CircuitTerminationSideChoices.SIDE_Z
|
circuit=instance, term_side=CircuitTerminationSideChoices.SIDE_Z
|
||||||
).first()
|
).first()
|
||||||
if termination_z and termination_z.connected_endpoint:
|
if termination_z and termination_z.connected_endpoint and hasattr(termination_z.connected_endpoint, 'ip_addresses'):
|
||||||
termination_z.ip_addresses = termination_z.connected_endpoint.ip_addresses.restrict(request.user, 'view')
|
termination_z.ip_addresses = termination_z.connected_endpoint.ip_addresses.restrict(request.user, 'view')
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -147,7 +147,8 @@ class Cable(ChangeLoggedModel, CustomFieldModel):
|
|||||||
return instance
|
return instance
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.label or '#{}'.format(self._pk)
|
pk = self.pk or self._pk
|
||||||
|
return self.label or f'#{pk}'
|
||||||
|
|
||||||
def get_absolute_url(self):
|
def get_absolute_url(self):
|
||||||
return reverse('dcim:cable', args=[self.pk])
|
return reverse('dcim:cable', args=[self.pk])
|
||||||
|
@ -302,6 +302,14 @@ class RackTestCase(ViewTestCases.PrimaryObjectViewTestCase):
|
|||||||
'comments': 'New comments',
|
'comments': 'New comments',
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@override_settings(EXEMPT_VIEW_PERMISSIONS=['*'])
|
||||||
|
def test_list_rack_elevations(self):
|
||||||
|
"""
|
||||||
|
Test viewing the list of rack elevations.
|
||||||
|
"""
|
||||||
|
response = self.client.get(reverse('dcim:rack_elevation_list'))
|
||||||
|
self.assertHttpStatus(response, 200)
|
||||||
|
|
||||||
|
|
||||||
class ManufacturerTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
class ManufacturerTestCase(ViewTestCases.OrganizationalObjectViewTestCase):
|
||||||
model = Manufacturer
|
model = Manufacturer
|
||||||
|
Loading…
Reference in New Issue
Block a user