mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-16 04:02:52 -06:00
CircuitTermination should inherit from CableTermination
This commit is contained in:
parent
4df74780b8
commit
3420b5fbdf
@ -57,7 +57,7 @@ class Migration(migrations.Migration):
|
|||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
|
|
||||||
# Add CircuitTermination.connected_endpoint
|
# Add new CircuitTermination fields
|
||||||
migrations.AddField(
|
migrations.AddField(
|
||||||
model_name='circuittermination',
|
model_name='circuittermination',
|
||||||
name='connected_endpoint',
|
name='connected_endpoint',
|
||||||
@ -68,11 +68,16 @@ class Migration(migrations.Migration):
|
|||||||
name='connection_status',
|
name='connection_status',
|
||||||
field=models.NullBooleanField(default=True),
|
field=models.NullBooleanField(default=True),
|
||||||
),
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='circuittermination',
|
||||||
|
name='cable',
|
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='dcim.Cable'),
|
||||||
|
),
|
||||||
|
|
||||||
# Copy CircuitTermination connections to Interfaces as Cables
|
# Copy CircuitTermination connections to Interfaces as Cables
|
||||||
migrations.RunPython(circuit_terminations_to_cables),
|
migrations.RunPython(circuit_terminations_to_cables),
|
||||||
|
|
||||||
# Model changes
|
# Remove interface field from CircuitTermination
|
||||||
migrations.RemoveField(
|
migrations.RemoveField(
|
||||||
model_name='circuittermination',
|
model_name='circuittermination',
|
||||||
name='interface',
|
name='interface',
|
||||||
|
@ -5,6 +5,7 @@ from taggit.managers import TaggableManager
|
|||||||
|
|
||||||
from dcim.constants import CONNECTION_STATUS_CHOICES, CONNECTION_STATUS_CONNECTED, STATUS_CLASSES
|
from dcim.constants import CONNECTION_STATUS_CHOICES, CONNECTION_STATUS_CONNECTED, STATUS_CLASSES
|
||||||
from dcim.fields import ASNField
|
from dcim.fields import ASNField
|
||||||
|
from dcim.models import CableTermination
|
||||||
from extras.models import CustomFieldModel, ObjectChange
|
from extras.models import CustomFieldModel, ObjectChange
|
||||||
from utilities.models import ChangeLoggedModel
|
from utilities.models import ChangeLoggedModel
|
||||||
from utilities.utils import serialize_object
|
from utilities.utils import serialize_object
|
||||||
@ -211,7 +212,7 @@ class Circuit(ChangeLoggedModel, CustomFieldModel):
|
|||||||
return self._get_termination('Z')
|
return self._get_termination('Z')
|
||||||
|
|
||||||
|
|
||||||
class CircuitTermination(models.Model):
|
class CircuitTermination(CableTermination):
|
||||||
circuit = models.ForeignKey(
|
circuit = models.ForeignKey(
|
||||||
to='circuits.Circuit',
|
to='circuits.Circuit',
|
||||||
on_delete=models.CASCADE,
|
on_delete=models.CASCADE,
|
||||||
|
@ -15,7 +15,6 @@ from mptt.models import MPTTModel, TreeForeignKey
|
|||||||
from taggit.managers import TaggableManager
|
from taggit.managers import TaggableManager
|
||||||
from timezone_field import TimeZoneField
|
from timezone_field import TimeZoneField
|
||||||
|
|
||||||
from circuits.models import Circuit, CircuitTermination
|
|
||||||
from extras.models import ConfigContextModel, CustomFieldModel, ObjectChange
|
from extras.models import ConfigContextModel, CustomFieldModel, ObjectChange
|
||||||
from utilities.fields import ColorField, NullableCharField
|
from utilities.fields import ColorField, NullableCharField
|
||||||
from utilities.managers import NaturalOrderByManager
|
from utilities.managers import NaturalOrderByManager
|
||||||
@ -336,6 +335,7 @@ class Site(ChangeLoggedModel, CustomFieldModel):
|
|||||||
|
|
||||||
@property
|
@property
|
||||||
def count_circuits(self):
|
def count_circuits(self):
|
||||||
|
from circuits.models import Circuit
|
||||||
return Circuit.objects.filter(terminations__site=self).count()
|
return Circuit.objects.filter(terminations__site=self).count()
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@ -2023,6 +2023,8 @@ class Interface(CableTermination, ComponentModel):
|
|||||||
|
|
||||||
@connected_endpoint.setter
|
@connected_endpoint.setter
|
||||||
def connected_endpoint(self, value):
|
def connected_endpoint(self, value):
|
||||||
|
from circuits.models import CircuitTermination
|
||||||
|
|
||||||
if value is None:
|
if value is None:
|
||||||
self._connected_interface = None
|
self._connected_interface = None
|
||||||
self._connected_circuittermination = None
|
self._connected_circuittermination = None
|
||||||
|
Loading…
Reference in New Issue
Block a user