Add authentication
This commit is contained in:
parent
ef00d676f5
commit
358d70570a
7 changed files with 149 additions and 30 deletions
|
|
@ -1,13 +1,26 @@
|
|||
from rest_framework import generics
|
||||
from rest_framework import permissions
|
||||
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||
from django.contrib.auth import authenticate, login
|
||||
|
||||
|
||||
from utils.views import LoginViewMixin
|
||||
from membership.models import CustomUser, StripeCustomer
|
||||
from guardian.mixins import PermissionRequiredMixin
|
||||
|
||||
from .serializers import VirtualMachineTemplateSerializer, \
|
||||
VirtualMachineSerializer
|
||||
from .models import VirtualMachineTemplate, VirtualMachine, OpenNebulaManager
|
||||
from .permissions import IsOwner
|
||||
|
||||
|
||||
class TemplateCreateView(generics.ListCreateAPIView):
|
||||
"""This class defines the create behavior of our rest api."""
|
||||
"""This class handles the GET and POST requests."""
|
||||
|
||||
queryset = VirtualMachineTemplate.objects.all()
|
||||
serializer_class = VirtualMachineTemplateSerializer
|
||||
permission_classes = (permissions.IsAuthenticated, permissions.IsAdminUser)
|
||||
|
||||
def perform_create(self, serializer):
|
||||
"""Save the post data when creating a new template."""
|
||||
|
|
@ -18,18 +31,21 @@ class TemplateDetailsView(generics.RetrieveUpdateDestroyAPIView):
|
|||
|
||||
queryset = VirtualMachineTemplate.objects.all()
|
||||
serializer_class = VirtualMachineTemplateSerializer
|
||||
permission_classes = (permissions.IsAuthenticated)
|
||||
|
||||
class VmCreateView(generics.ListCreateAPIView):
|
||||
"""This class defines the create behavior of our rest api."""
|
||||
"""This class handles the GET and POST requests."""
|
||||
queryset = VirtualMachine.objects.all()
|
||||
serializer_class = VirtualMachineSerializer
|
||||
permission_classes = (permissions.IsAuthenticated, IsOwner)
|
||||
|
||||
def perform_create(self, serializer):
|
||||
"""Save the post data when creating a new template."""
|
||||
serializer.save()
|
||||
serializer.save(owner=self.request.user)
|
||||
|
||||
class VmDetailsView(generics.RetrieveUpdateDestroyAPIView):
|
||||
"""This class handles the http GET, PUT and DELETE requests."""
|
||||
permission_classes = (permissions.IsAuthenticated, IsOwner)
|
||||
|
||||
queryset = VirtualMachine.objects.all()
|
||||
serializer_class = VirtualMachineSerializer
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue