64 lines
2.4 KiB
Python
64 lines
2.4 KiB
Python
# views.py
|
|
from rest_framework.views import APIView
|
|
from rest_framework.generics import ListAPIView
|
|
from rest_framework.response import Response
|
|
from rest_framework import status
|
|
from rest_framework import generics
|
|
from .models import ObjektSigurnosti
|
|
from .serializers import ObjektSigurnostiSerializer
|
|
from django.shortcuts import get_object_or_404
|
|
from rest_framework.pagination import LimitOffsetPagination
|
|
|
|
|
|
|
|
class CustomObjektSigurnostiPagination(LimitOffsetPagination):
|
|
default_limit = 20
|
|
|
|
|
|
class ObjektSigurnostiList(generics.ListCreateAPIView):
|
|
queryset = ObjektSigurnosti.objects.all().order_by("naziv")
|
|
serializer_class = ObjektSigurnostiSerializer
|
|
pagination_class = CustomObjektSigurnostiPagination
|
|
|
|
def get_queryset(self):
|
|
user = self.request.user
|
|
return user.accounts.all()
|
|
# def get_queryset(self): #queryset je data iz database, listing and creating objects
|
|
# queryset = ObjektSigurnosti.objects.all()
|
|
# location = self.request.query_params.get('lokacija')
|
|
# if location is not None:
|
|
# queryset = queryset.filter(lokacija__icontains=location)
|
|
# return queryset
|
|
|
|
def perform_create(self, serializer):
|
|
#used to customize the behavior when creating an object, and in this case,
|
|
#it sets the operater field and creates a log entry for the created object.
|
|
serializer.save(operater=self.request.user)
|
|
# instance = serializer.instance
|
|
# self.create_log(instance)
|
|
|
|
def get_serializer_class(self):
|
|
if self.request.method == "GET":
|
|
return ObjektSigurnostiSerializer
|
|
return self.serializer_class()
|
|
|
|
|
|
class ObjektSigurnostiDetail(generics.RetrieveUpdateDestroyAPIView): #retrieving, updating, and deleting a specific object
|
|
queryset = ObjektSigurnosti.objects.all()
|
|
serializer_class = ObjektSigurnostiSerializer
|
|
|
|
# def perform_update(self, serializer):
|
|
# instance = serializer.save()
|
|
# opis = "Korisnik je uredio objekt sigurnosti {} (ID: {})".format(
|
|
# instance.vrsta.naziv, instance.id
|
|
# )
|
|
# Log.objects.create(user=self.request.user, akcija="Uređivanje", opis=opis)
|
|
|
|
# def perform_destroy(self, instance):
|
|
# super().perform_destroy(instance)
|
|
# opis = "Korisnik je obrisao objekt sigurnosti {} (ID: {})".format(
|
|
# instance.vrsta.naziv, instance.id
|
|
# )
|
|
# Log.objects.create(user=self.request.user, akcija="Brisanje", opis=opis)
|
|
|