mirror of
https://github.com/netbox-community/netbox.git
synced 2025-07-16 20:22:53 -06:00

- Introduces a new `vpn` app with the following models: - Tunnel - TunnelTermination - IKEProposal - IKEPolicy - IPSecProposal - IPSecPolicy - IPSecProfile
335 lines
9.1 KiB
Python
335 lines
9.1 KiB
Python
from netbox.views import generic
|
|
from utilities.utils import count_related
|
|
from utilities.views import register_model_view
|
|
from . import filtersets, forms, tables
|
|
from .models import *
|
|
|
|
|
|
#
|
|
# Tunnels
|
|
#
|
|
|
|
class TunnelListView(generic.ObjectListView):
|
|
queryset = Tunnel.objects.annotate(
|
|
count_terminations=count_related(TunnelTermination, 'tunnel')
|
|
)
|
|
filterset = filtersets.TunnelFilterSet
|
|
filterset_form = forms.TunnelFilterForm
|
|
table = tables.TunnelTable
|
|
|
|
|
|
@register_model_view(Tunnel)
|
|
class TunnelView(generic.ObjectView):
|
|
queryset = Tunnel.objects.all()
|
|
|
|
|
|
@register_model_view(Tunnel, 'edit')
|
|
class TunnelEditView(generic.ObjectEditView):
|
|
queryset = Tunnel.objects.all()
|
|
form = forms.TunnelForm
|
|
|
|
def dispatch(self, request, *args, **kwargs):
|
|
|
|
# If creating a new Tunnel, use the creation form
|
|
if 'pk' not in kwargs:
|
|
self.form = forms.TunnelCreateForm
|
|
|
|
return super().dispatch(request, *args, **kwargs)
|
|
|
|
|
|
@register_model_view(Tunnel, 'delete')
|
|
class TunnelDeleteView(generic.ObjectDeleteView):
|
|
queryset = Tunnel.objects.all()
|
|
|
|
|
|
class TunnelBulkImportView(generic.BulkImportView):
|
|
queryset = Tunnel.objects.all()
|
|
model_form = forms.TunnelImportForm
|
|
|
|
|
|
class TunnelBulkEditView(generic.BulkEditView):
|
|
queryset = Tunnel.objects.annotate(
|
|
count_terminations=count_related(TunnelTermination, 'tunnel')
|
|
)
|
|
filterset = filtersets.TunnelFilterSet
|
|
table = tables.TunnelTable
|
|
form = forms.TunnelBulkEditForm
|
|
|
|
|
|
class TunnelBulkDeleteView(generic.BulkDeleteView):
|
|
queryset = Tunnel.objects.annotate(
|
|
count_terminations=count_related(TunnelTermination, 'tunnel')
|
|
)
|
|
filterset = filtersets.TunnelFilterSet
|
|
table = tables.TunnelTable
|
|
|
|
|
|
#
|
|
# Tunnel terminations
|
|
#
|
|
|
|
class TunnelTerminationListView(generic.ObjectListView):
|
|
queryset = TunnelTermination.objects.all()
|
|
filterset = filtersets.TunnelTerminationFilterSet
|
|
filterset_form = forms.TunnelTerminationFilterForm
|
|
table = tables.TunnelTerminationTable
|
|
|
|
|
|
@register_model_view(TunnelTermination)
|
|
class TunnelTerminationView(generic.ObjectView):
|
|
queryset = TunnelTermination.objects.all()
|
|
|
|
|
|
@register_model_view(TunnelTermination, 'edit')
|
|
class TunnelTerminationEditView(generic.ObjectEditView):
|
|
queryset = TunnelTermination.objects.all()
|
|
form = forms.TunnelTerminationForm
|
|
|
|
|
|
@register_model_view(TunnelTermination, 'delete')
|
|
class TunnelTerminationDeleteView(generic.ObjectDeleteView):
|
|
queryset = TunnelTermination.objects.all()
|
|
|
|
|
|
class TunnelTerminationBulkImportView(generic.BulkImportView):
|
|
queryset = TunnelTermination.objects.all()
|
|
model_form = forms.TunnelTerminationImportForm
|
|
|
|
|
|
class TunnelTerminationBulkEditView(generic.BulkEditView):
|
|
queryset = TunnelTermination.objects.all()
|
|
filterset = filtersets.TunnelTerminationFilterSet
|
|
table = tables.TunnelTerminationTable
|
|
form = forms.TunnelTerminationBulkEditForm
|
|
|
|
|
|
class TunnelTerminationBulkDeleteView(generic.BulkDeleteView):
|
|
queryset = TunnelTermination.objects.all()
|
|
filterset = filtersets.TunnelTerminationFilterSet
|
|
table = tables.TunnelTerminationTable
|
|
|
|
|
|
#
|
|
# IKE proposals
|
|
#
|
|
|
|
class IKEProposalListView(generic.ObjectListView):
|
|
queryset = IKEProposal.objects.all()
|
|
filterset = filtersets.IKEProposalFilterSet
|
|
filterset_form = forms.IKEProposalFilterForm
|
|
table = tables.IKEProposalTable
|
|
|
|
|
|
@register_model_view(IKEProposal)
|
|
class IKEProposalView(generic.ObjectView):
|
|
queryset = IKEProposal.objects.all()
|
|
|
|
|
|
@register_model_view(IKEProposal, 'edit')
|
|
class IKEProposalEditView(generic.ObjectEditView):
|
|
queryset = IKEProposal.objects.all()
|
|
form = forms.IKEProposalForm
|
|
|
|
|
|
@register_model_view(IKEProposal, 'delete')
|
|
class IKEProposalDeleteView(generic.ObjectDeleteView):
|
|
queryset = IKEProposal.objects.all()
|
|
|
|
|
|
class IKEProposalBulkImportView(generic.BulkImportView):
|
|
queryset = IKEProposal.objects.all()
|
|
model_form = forms.IKEProposalImportForm
|
|
|
|
|
|
class IKEProposalBulkEditView(generic.BulkEditView):
|
|
queryset = IKEProposal.objects.all()
|
|
filterset = filtersets.IKEProposalFilterSet
|
|
table = tables.IKEProposalTable
|
|
form = forms.IKEProposalBulkEditForm
|
|
|
|
|
|
class IKEProposalBulkDeleteView(generic.BulkDeleteView):
|
|
queryset = IKEProposal.objects.all()
|
|
filterset = filtersets.IKEProposalFilterSet
|
|
table = tables.IKEProposalTable
|
|
|
|
|
|
#
|
|
# IKE policies
|
|
#
|
|
|
|
class IKEPolicyListView(generic.ObjectListView):
|
|
queryset = IKEPolicy.objects.all()
|
|
filterset = filtersets.IKEPolicyFilterSet
|
|
filterset_form = forms.IKEPolicyFilterForm
|
|
table = tables.IKEPolicyTable
|
|
|
|
|
|
@register_model_view(IKEPolicy)
|
|
class IKEPolicyView(generic.ObjectView):
|
|
queryset = IKEPolicy.objects.all()
|
|
|
|
|
|
@register_model_view(IKEPolicy, 'edit')
|
|
class IKEPolicyEditView(generic.ObjectEditView):
|
|
queryset = IKEPolicy.objects.all()
|
|
form = forms.IKEPolicyForm
|
|
|
|
|
|
@register_model_view(IKEPolicy, 'delete')
|
|
class IKEPolicyDeleteView(generic.ObjectDeleteView):
|
|
queryset = IKEPolicy.objects.all()
|
|
|
|
|
|
class IKEPolicyBulkImportView(generic.BulkImportView):
|
|
queryset = IKEPolicy.objects.all()
|
|
model_form = forms.IKEPolicyImportForm
|
|
|
|
|
|
class IKEPolicyBulkEditView(generic.BulkEditView):
|
|
queryset = IKEPolicy.objects.all()
|
|
filterset = filtersets.IKEPolicyFilterSet
|
|
table = tables.IKEPolicyTable
|
|
form = forms.IKEPolicyBulkEditForm
|
|
|
|
|
|
class IKEPolicyBulkDeleteView(generic.BulkDeleteView):
|
|
queryset = IKEPolicy.objects.all()
|
|
filterset = filtersets.IKEPolicyFilterSet
|
|
table = tables.IKEPolicyTable
|
|
|
|
|
|
#
|
|
# IPSec proposals
|
|
#
|
|
|
|
class IPSecProposalListView(generic.ObjectListView):
|
|
queryset = IPSecProposal.objects.all()
|
|
filterset = filtersets.IPSecProposalFilterSet
|
|
filterset_form = forms.IPSecProposalFilterForm
|
|
table = tables.IPSecProposalTable
|
|
|
|
|
|
@register_model_view(IPSecProposal)
|
|
class IPSecProposalView(generic.ObjectView):
|
|
queryset = IPSecProposal.objects.all()
|
|
|
|
|
|
@register_model_view(IPSecProposal, 'edit')
|
|
class IPSecProposalEditView(generic.ObjectEditView):
|
|
queryset = IPSecProposal.objects.all()
|
|
form = forms.IPSecProposalForm
|
|
|
|
|
|
@register_model_view(IPSecProposal, 'delete')
|
|
class IPSecProposalDeleteView(generic.ObjectDeleteView):
|
|
queryset = IPSecProposal.objects.all()
|
|
|
|
|
|
class IPSecProposalBulkImportView(generic.BulkImportView):
|
|
queryset = IPSecProposal.objects.all()
|
|
model_form = forms.IPSecProposalImportForm
|
|
|
|
|
|
class IPSecProposalBulkEditView(generic.BulkEditView):
|
|
queryset = IPSecProposal.objects.all()
|
|
filterset = filtersets.IPSecProposalFilterSet
|
|
table = tables.IPSecProposalTable
|
|
form = forms.IPSecProposalBulkEditForm
|
|
|
|
|
|
class IPSecProposalBulkDeleteView(generic.BulkDeleteView):
|
|
queryset = IPSecProposal.objects.all()
|
|
filterset = filtersets.IPSecProposalFilterSet
|
|
table = tables.IPSecProposalTable
|
|
|
|
|
|
#
|
|
# IPSec policies
|
|
#
|
|
|
|
class IPSecPolicyListView(generic.ObjectListView):
|
|
queryset = IPSecPolicy.objects.all()
|
|
filterset = filtersets.IPSecPolicyFilterSet
|
|
filterset_form = forms.IPSecPolicyFilterForm
|
|
table = tables.IPSecPolicyTable
|
|
|
|
|
|
@register_model_view(IPSecPolicy)
|
|
class IPSecPolicyView(generic.ObjectView):
|
|
queryset = IPSecPolicy.objects.all()
|
|
|
|
|
|
@register_model_view(IPSecPolicy, 'edit')
|
|
class IPSecPolicyEditView(generic.ObjectEditView):
|
|
queryset = IPSecPolicy.objects.all()
|
|
form = forms.IPSecPolicyForm
|
|
|
|
|
|
@register_model_view(IPSecPolicy, 'delete')
|
|
class IPSecPolicyDeleteView(generic.ObjectDeleteView):
|
|
queryset = IPSecPolicy.objects.all()
|
|
|
|
|
|
class IPSecPolicyBulkImportView(generic.BulkImportView):
|
|
queryset = IPSecPolicy.objects.all()
|
|
model_form = forms.IPSecPolicyImportForm
|
|
|
|
|
|
class IPSecPolicyBulkEditView(generic.BulkEditView):
|
|
queryset = IPSecPolicy.objects.all()
|
|
filterset = filtersets.IPSecPolicyFilterSet
|
|
table = tables.IPSecPolicyTable
|
|
form = forms.IPSecPolicyBulkEditForm
|
|
|
|
|
|
class IPSecPolicyBulkDeleteView(generic.BulkDeleteView):
|
|
queryset = IPSecPolicy.objects.all()
|
|
filterset = filtersets.IPSecPolicyFilterSet
|
|
table = tables.IPSecPolicyTable
|
|
|
|
|
|
#
|
|
# IPSec profiles
|
|
#
|
|
|
|
class IPSecProfileListView(generic.ObjectListView):
|
|
queryset = IPSecProfile.objects.all()
|
|
filterset = filtersets.IPSecProfileFilterSet
|
|
filterset_form = forms.IPSecProfileFilterForm
|
|
table = tables.IPSecProfileTable
|
|
|
|
|
|
@register_model_view(IPSecProfile)
|
|
class IPSecProfileView(generic.ObjectView):
|
|
queryset = IPSecProfile.objects.all()
|
|
|
|
|
|
@register_model_view(IPSecProfile, 'edit')
|
|
class IPSecProfileEditView(generic.ObjectEditView):
|
|
queryset = IPSecProfile.objects.all()
|
|
form = forms.IPSecProfileForm
|
|
|
|
|
|
@register_model_view(IPSecProfile, 'delete')
|
|
class IPSecProfileDeleteView(generic.ObjectDeleteView):
|
|
queryset = IPSecProfile.objects.all()
|
|
|
|
|
|
class IPSecProfileBulkImportView(generic.BulkImportView):
|
|
queryset = IPSecProfile.objects.all()
|
|
model_form = forms.IPSecProfileImportForm
|
|
|
|
|
|
class IPSecProfileBulkEditView(generic.BulkEditView):
|
|
queryset = IPSecProfile.objects.all()
|
|
filterset = filtersets.IPSecProfileFilterSet
|
|
table = tables.IPSecProfileTable
|
|
form = forms.IPSecProfileBulkEditForm
|
|
|
|
|
|
class IPSecProfileBulkDeleteView(generic.BulkDeleteView):
|
|
queryset = IPSecProfile.objects.all()
|
|
filterset = filtersets.IPSecProfileFilterSet
|
|
table = tables.IPSecProfileTable
|