from django.views.generic.edit import CreateView from django.contrib.auth.mixins import LoginRequiredMixin from django.contrib.messages.views import SuccessMessageMixin from django.shortcuts import render from rest_framework import viewsets, permissions from .models import * from .serializers import * from .selectors import * from .forms import * # class VPNPoolViewSet(viewsets.ModelViewSet): # serializer_class = VPNPoolSerializer # permission_classes = [permissions.IsAdminUser] # queryset = VPNPool.objects.all() # class VPNNetworkReservationViewSet(viewsets.ModelViewSet): # serializer_class = VPNNetworkReservationSerializer # permission_classes = [permissions.IsAdminUser] # queryset = VPNNetworkReservation.objects.all() # class VPNNetworkViewSet(viewsets.ModelViewSet): # serializer_class = VPNNetworkSerializer # permission_classes = [permissions.IsAuthenticated] # def get_queryset(self): # if self.request.user.is_superuser: # obj = VPNNetwork.objects.all() # else: # obj = VPNNetwork.objects.filter(owner=self.request.user) # return obj class WireGuardVPNCreateView(LoginRequiredMixin, SuccessMessageMixin, CreateView): model = WireGuardVPN login_url = '/login/' success_url = '/' success_message = "%(network) was created successfully" form_class = WireGuardVPNForm def get_success_message(self, cleaned_data): return self.success_message % dict(cleaned_data, the_prefix = self.object.prefix) def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['available_sizes'] = 2 return context