Просмотр исходного кода

Fixes: #5463 - Add check for ip_addresses attribute on circuittermination connected_endpoint

Daniel Sheppard 5 лет назад
Родитель
Сommit
14a46f82ee
2 измененных файлов с 3 добавлено и 2 удалено
  1. 1 0
      docs/release-notes/version-2.10.md
  2. 2 2
      netbox/circuits/views.py

+ 1 - 0
docs/release-notes/version-2.10.md

@@ -6,6 +6,7 @@
 
 
 * [#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)
 
 

+ 2 - 2
netbox/circuits/views.py

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