diff --git a/plovidba_aplikacija/__pycache__/models.cpython-38.pyc b/plovidba_aplikacija/__pycache__/models.cpython-38.pyc index 4596378..98902cc 100644 Binary files a/plovidba_aplikacija/__pycache__/models.cpython-38.pyc and b/plovidba_aplikacija/__pycache__/models.cpython-38.pyc differ diff --git a/plovidba_aplikacija/__pycache__/urls.cpython-38.pyc b/plovidba_aplikacija/__pycache__/urls.cpython-38.pyc index 9d2ac15..c5327a1 100644 Binary files a/plovidba_aplikacija/__pycache__/urls.cpython-38.pyc and b/plovidba_aplikacija/__pycache__/urls.cpython-38.pyc differ diff --git a/plovidba_aplikacija/__pycache__/views.cpython-38.pyc b/plovidba_aplikacija/__pycache__/views.cpython-38.pyc index db6c988..da99489 100644 Binary files a/plovidba_aplikacija/__pycache__/views.cpython-38.pyc and b/plovidba_aplikacija/__pycache__/views.cpython-38.pyc differ diff --git a/plovidba_aplikacija/models.py b/plovidba_aplikacija/models.py index be55f22..611b0f4 100644 --- a/plovidba_aplikacija/models.py +++ b/plovidba_aplikacija/models.py @@ -1,5 +1,7 @@ from django.db import models from django.contrib.gis.db import models +from django.contrib.auth.models import User +from django.utils import timezone class ObjektSigurnosti(models.Model): naziv = models.CharField(max_length=255) @@ -13,4 +15,13 @@ class ObjektSigurnosti(models.Model): simbol_oznaka = models.CharField(max_length=255, null=True, blank=True) def __str__(self): - return self.naziv \ No newline at end of file + return self.naziv + +# class Log(models.Model): +# user = models.ForeignKey(User, on_delete=models.CASCADE) +# akcija = models.CharField(max_length=255) +# opis = models.TextField() +# vrijeme = models.DateTimeField(default=timezone.now) + +# def __str__(self): +# return f"{self.user.username} - {self.akcija} - {self.opis}" \ No newline at end of file diff --git a/plovidba_aplikacija/templates/plovidba_aplikacija/base.html b/plovidba_aplikacija/templates/plovidba_aplikacija/base.html deleted file mode 100644 index c87692f..0000000 --- a/plovidba_aplikacija/templates/plovidba_aplikacija/base.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - -

My First Heading

- -

My first paragraph.

- - - diff --git a/plovidba_aplikacija/urls.py b/plovidba_aplikacija/urls.py index 314374b..6e7ec8c 100644 --- a/plovidba_aplikacija/urls.py +++ b/plovidba_aplikacija/urls.py @@ -1,10 +1,8 @@ -from django.urls import path, include -from rest_framework.routers import DefaultRouter -from .views import ObjektSigurnostiViewSet -router = DefaultRouter() -router.register(r'objekti', ObjektSigurnostiViewSet, basename='objekt-sigurnosti') +from django.urls import path, include +from .views import ObjektSigurnostiList, ObjektSigurnostiDetail urlpatterns = [ - path('', include(router.urls)), -] \ No newline at end of file + path('objekti/', ObjektSigurnostiList.as_view(), name='objektisigurnosti-list'), + path('objekti//', ObjektSigurnostiDetail.as_view(), name='objektisigurnosti-detail' ), +] diff --git a/plovidba_aplikacija/views.py b/plovidba_aplikacija/views.py index 692bcda..e69aff2 100644 --- a/plovidba_aplikacija/views.py +++ b/plovidba_aplikacija/views.py @@ -1,13 +1,45 @@ -from django.shortcuts import render - -from rest_framework import viewsets +# views.py +from rest_framework.views import APIView +from rest_framework.response import Response +from rest_framework import status +from rest_framework import generics +from django.http import Http404 from .models import ObjektSigurnosti from .serializers import ObjektSigurnostiSerializer +from django.shortcuts import get_object_or_404 -def home(request): - return render(request, 'base.html') -class ObjektSigurnostiViewSet(viewsets.ModelViewSet): + +class ObjektSigurnostiList(generics.ListCreateAPIView): + serializer_class = ObjektSigurnostiSerializer + + 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 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) diff --git a/plovidba_projekt/__pycache__/router.cpython-38.pyc b/plovidba_projekt/__pycache__/router.cpython-38.pyc new file mode 100644 index 0000000..4856c58 Binary files /dev/null and b/plovidba_projekt/__pycache__/router.cpython-38.pyc differ diff --git a/plovidba_projekt/__pycache__/urls.cpython-38.pyc b/plovidba_projekt/__pycache__/urls.cpython-38.pyc index 1b0a7fb..a3061ee 100644 Binary files a/plovidba_projekt/__pycache__/urls.cpython-38.pyc and b/plovidba_projekt/__pycache__/urls.cpython-38.pyc differ diff --git a/plovidba_projekt/urls.py b/plovidba_projekt/urls.py index c7ae430..fd56703 100644 --- a/plovidba_projekt/urls.py +++ b/plovidba_projekt/urls.py @@ -16,10 +16,9 @@ Including another URLconf """ from django.contrib import admin from django.urls import path, include -from plovidba_aplikacija.views import home +from plovidba_aplikacija import views urlpatterns = [ path('admin/', admin.site.urls), path('api/', include('plovidba_aplikacija.urls')), - path('', home, name='base'), ] \ No newline at end of file