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

CircuitTermination should inherit from CableTermination

This commit is contained in:
Jeremy Stretch
2018-10-30 14:27:45 -04:00
parent 4df74780b8
commit 3420b5fbdf
3 changed files with 12 additions and 4 deletions

View File

@ -57,7 +57,7 @@ class Migration(migrations.Migration):
operations = [
# Add CircuitTermination.connected_endpoint
# Add new CircuitTermination fields
migrations.AddField(
model_name='circuittermination',
name='connected_endpoint',
@ -68,11 +68,16 @@ class Migration(migrations.Migration):
name='connection_status',
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
migrations.RunPython(circuit_terminations_to_cables),
# Model changes
# Remove interface field from CircuitTermination
migrations.RemoveField(
model_name='circuittermination',
name='interface',

View File

@ -5,6 +5,7 @@ from taggit.managers import TaggableManager
from dcim.constants import CONNECTION_STATUS_CHOICES, CONNECTION_STATUS_CONNECTED, STATUS_CLASSES
from dcim.fields import ASNField
from dcim.models import CableTermination
from extras.models import CustomFieldModel, ObjectChange
from utilities.models import ChangeLoggedModel
from utilities.utils import serialize_object
@ -211,7 +212,7 @@ class Circuit(ChangeLoggedModel, CustomFieldModel):
return self._get_termination('Z')
class CircuitTermination(models.Model):
class CircuitTermination(CableTermination):
circuit = models.ForeignKey(
to='circuits.Circuit',
on_delete=models.CASCADE,

View File

@ -15,7 +15,6 @@ from mptt.models import MPTTModel, TreeForeignKey
from taggit.managers import TaggableManager
from timezone_field import TimeZoneField
from circuits.models import Circuit, CircuitTermination
from extras.models import ConfigContextModel, CustomFieldModel, ObjectChange
from utilities.fields import ColorField, NullableCharField
from utilities.managers import NaturalOrderByManager
@ -336,6 +335,7 @@ class Site(ChangeLoggedModel, CustomFieldModel):
@property
def count_circuits(self):
from circuits.models import Circuit
return Circuit.objects.filter(terminations__site=self).count()
@property
@ -2023,6 +2023,8 @@ class Interface(CableTermination, ComponentModel):
@connected_endpoint.setter
def connected_endpoint(self, value):
from circuits.models import CircuitTermination
if value is None:
self._connected_interface = None
self._connected_circuittermination = None