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 WireGuardVPNViewSet(viewsets.ModelViewSet): serializer_class = WireGuardVPNSerializer permission_classes = [permissions.IsAuthenticated] def get_queryset(self): if self.request.user.is_superuser: obj = WireGuardVPN.objects.all() else: obj = WireGuardVPN.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 # def post(request, *args, **kwargs): # print(request) # print(*args) # print(*kwargs) # def post(self, request, *args, **kwargs):