Adds L2VPN.status field, associated L2VPNStatusChoices, and migration

This commit is contained in:
Jason Novinger 2025-03-03 09:57:36 -06:00
parent 4e65117e7c
commit 2fb16f969e
3 changed files with 37 additions and 1 deletions

View File

@ -267,3 +267,17 @@ class L2VPNTypeChoices(ChoiceSet):
TYPE_EPLAN, TYPE_EPLAN,
TYPE_EPTREE TYPE_EPTREE
) )
class L2VPNStatusChoices(ChoiceSet):
key = 'L2VPN.status'
STATUS_PLANNED = 'planned'
STATUS_ACTIVE = 'active'
STATUS_DECOMMISSIONED = 'decommissioned'
CHOICES = [
(STATUS_PLANNED, _('Planned')),
(STATUS_ACTIVE, _('Active')),
(STATUS_DECOMMISSIONED, _('Decommissioned')),
]

View File

@ -0,0 +1,16 @@
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('vpn', '0007_natural_ordering'),
]
operations = [
migrations.AddField(
model_name='l2vpn',
name='status',
field=models.CharField(default='active', max_length=50),
),
]

View File

@ -7,7 +7,7 @@ from django.utils.translation import gettext_lazy as _
from core.models import ObjectType from core.models import ObjectType
from netbox.models import NetBoxModel, PrimaryModel from netbox.models import NetBoxModel, PrimaryModel
from netbox.models.features import ContactsMixin from netbox.models.features import ContactsMixin
from vpn.choices import L2VPNTypeChoices from vpn.choices import L2VPNStatusChoices, L2VPNTypeChoices
from vpn.constants import L2VPN_ASSIGNMENT_MODELS from vpn.constants import L2VPN_ASSIGNMENT_MODELS
__all__ = ( __all__ = (
@ -33,6 +33,12 @@ class L2VPN(ContactsMixin, PrimaryModel):
max_length=50, max_length=50,
choices=L2VPNTypeChoices choices=L2VPNTypeChoices
) )
status = models.CharField(
verbose_name=_('status'),
max_length=50,
choices=L2VPNStatusChoices,
default=L2VPNStatusChoices.STATUS_ACTIVE,
)
identifier = models.BigIntegerField( identifier = models.BigIntegerField(
verbose_name=_('identifier'), verbose_name=_('identifier'),
null=True, null=True,