#9816: Promote IKE & IPSec proposals and policies to primary models

This commit is contained in:
Jeremy Stretch
2023-12-04 09:19:56 -05:00
parent 3faf4857cb
commit 5b0b366b82
13 changed files with 65 additions and 52 deletions

View File

@@ -2,7 +2,7 @@ from django.db import models
from django.urls import reverse
from django.utils.translation import gettext_lazy as _
from netbox.models import NetBoxModel, PrimaryModel
from netbox.models import PrimaryModel
from vpn.choices import *
__all__ = (
@@ -18,17 +18,12 @@ __all__ = (
# IKE
#
class IKEProposal(NetBoxModel):
class IKEProposal(PrimaryModel):
name = models.CharField(
verbose_name=_('name'),
max_length=100,
unique=True
)
description = models.CharField(
verbose_name=_('description'),
max_length=200,
blank=True
)
authentication_method = models.CharField(
verbose_name=('authentication method'),
choices=AuthenticationMethodChoices
@@ -69,17 +64,12 @@ class IKEProposal(NetBoxModel):
return reverse('vpn:ikeproposal', args=[self.pk])
class IKEPolicy(NetBoxModel):
class IKEPolicy(PrimaryModel):
name = models.CharField(
verbose_name=_('name'),
max_length=100,
unique=True
)
description = models.CharField(
verbose_name=_('description'),
max_length=200,
blank=True
)
version = models.PositiveSmallIntegerField(
verbose_name=_('version'),
choices=IKEVersionChoices,
@@ -122,17 +112,12 @@ class IKEPolicy(NetBoxModel):
# IPSec
#
class IPSecProposal(NetBoxModel):
class IPSecProposal(PrimaryModel):
name = models.CharField(
verbose_name=_('name'),
max_length=100,
unique=True
)
description = models.CharField(
verbose_name=_('description'),
max_length=200,
blank=True
)
encryption_algorithm = models.CharField(
verbose_name=_('encryption'),
choices=EncryptionAlgorithmChoices
@@ -170,17 +155,12 @@ class IPSecProposal(NetBoxModel):
return reverse('vpn:ipsecproposal', args=[self.pk])
class IPSecPolicy(NetBoxModel):
class IPSecPolicy(PrimaryModel):
name = models.CharField(
verbose_name=_('name'),
max_length=100,
unique=True
)
description = models.CharField(
verbose_name=_('description'),
max_length=200,
blank=True
)
proposals = models.ManyToManyField(
to='vpn.IPSecProposal',
related_name='ipsec_policies',