diff --git a/agriwise/nearest_lab/admin.py b/agriwise/nearest_lab/admin.py index 0751e18..bff53ad 100644 --- a/agriwise/nearest_lab/admin.py +++ b/agriwise/nearest_lab/admin.py @@ -1,8 +1,13 @@ from django.contrib import admin -from .models import Location +from .models import Location, NurersuryLocation @admin.register(Location) class LocationAdmin(admin.ModelAdmin): list_display = ["name", "long", "lat"] + + +@admin.register(NurersuryLocation) +class NurersuryLocationAdmin(admin.ModelAdmin): + list_display = ["name", "long", "lat"] diff --git a/agriwise/nearest_lab/migrations/0002_nurersurylocation.py b/agriwise/nearest_lab/migrations/0002_nurersurylocation.py new file mode 100644 index 0000000..9756460 --- /dev/null +++ b/agriwise/nearest_lab/migrations/0002_nurersurylocation.py @@ -0,0 +1,22 @@ +# Generated by Django 4.0.8 on 2023-05-26 15:57 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('nearest_lab', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='NurersuryLocation', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=600)), + ('long', models.FloatField()), + ('lat', models.FloatField()), + ], + ), + ] diff --git a/agriwise/nearest_lab/models.py b/agriwise/nearest_lab/models.py index bd704df..2d9d7ad 100644 --- a/agriwise/nearest_lab/models.py +++ b/agriwise/nearest_lab/models.py @@ -6,3 +6,9 @@ class Location(models.Model): name = CharField(max_length=600) long = FloatField() lat = FloatField() + + +class NurersuryLocation(models.Model): + name = CharField(max_length=600) + long = FloatField() + lat = FloatField() diff --git a/agriwise/nearest_lab/serializers.py b/agriwise/nearest_lab/serializers.py index 1bb9068..70d13d8 100644 --- a/agriwise/nearest_lab/serializers.py +++ b/agriwise/nearest_lab/serializers.py @@ -1,9 +1,15 @@ from rest_framework import serializers -from .models import Location +from .models import Location, NurersuryLocation class LocationSerializer(serializers.ModelSerializer): class Meta: model = Location fields = "__all__" + + +class NurersuryLocationSerializer(serializers.ModelSerializer): + class Meta: + model = NurersuryLocation + fields = "__all__" diff --git a/agriwise/nearest_lab/urls.py b/agriwise/nearest_lab/urls.py index 97e9712..5320916 100644 --- a/agriwise/nearest_lab/urls.py +++ b/agriwise/nearest_lab/urls.py @@ -1,11 +1,16 @@ from django.urls import path -from .views import LocationList +from .views import NurseryLocationList, SupplierLocationList urlpatterns = [ path( - "locations/", - LocationList.as_view(), + "supplier/", + SupplierLocationList.as_view(), name="nearest_suppliers_list", ), + path( + "nursery/", + NurseryLocationList.as_view(), + name="nearest_nursery_list", + ), ] diff --git a/agriwise/nearest_lab/views.py b/agriwise/nearest_lab/views.py index e05866f..73ff2b5 100644 --- a/agriwise/nearest_lab/views.py +++ b/agriwise/nearest_lab/views.py @@ -2,12 +2,19 @@ from rest_framework.response import Response from rest_framework.views import APIView -from .models import Location -from .serializers import LocationSerializer +from .models import Location, NurersuryLocation +from .serializers import LocationSerializer, NurersuryLocationSerializer -class LocationList(APIView): - def get(self, request, *args, **kwargs): - locations = Location.objects.all() - serializer = LocationSerializer(locations, many=True) +class SupplierLocationList(APIView): + def post(self, request): + queryset = Location.objects.all() + serializer = LocationSerializer(queryset, many=True) + return Response(serializer.data, status=status.HTTP_200_OK) + + +class NurseryLocationList(APIView): + def post(self, request): + queryset = NurersuryLocation.objects.all() + serializer = NurersuryLocationSerializer(queryset, many=True) return Response(serializer.data, status=status.HTTP_200_OK) diff --git a/config/urls.py b/config/urls.py index 0f20e0d..f7406ac 100644 --- a/config/urls.py +++ b/config/urls.py @@ -35,7 +35,7 @@ include("agriwise.agriculture_specialist.admin_urls"), ), path("plant-diseases/", include("agriwise.plant_diseases.urls")), - path("nearest-suppliers/", include("agriwise.nearest_lab.urls")), + path("nearest/", include("agriwise.nearest_lab.urls")), ] if settings.DEBUG: