This commit is contained in:
Mohamed Nouffer
2022-06-06 21:15:07 +05:30
parent b270c3ba55
commit d543289b1f
6 changed files with 67 additions and 13 deletions

View File

@ -2,7 +2,7 @@ from django.contrib import admin
from leaflet.admin import LeafletGeoAdmin
from leaflet.admin import LeafletGeoAdminMixin
from leaflet_admin_list.admin import LeafletAdminListMixin
from .models import RogUser, Location, SystemSettings, JoinedEvent, Favorite, TravelList, TravelPoint, ShapeLayers, Event, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, CustomUser
from .models import RogUser, Location, SystemSettings, JoinedEvent, Favorite, TravelList, TravelPoint, ShapeLayers, Event, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, CustomUser, GifuAreas
from django.contrib.auth.admin import UserAdmin
class RogAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin):
@ -46,6 +46,7 @@ admin.site.register(Location_line, LeafletGeoAdmin)
admin.site.register(Location_polygon, LeafletGeoAdmin)
admin.site.register(JpnAdminMainPerf, LeafletGeoAdmin)
#admin.site.register(JpnAdminPerf, LeafletGeoAdmin)
admin.site.register(GifuAreas, LeafletGeoAdmin)
admin.site.register(JpnSubPerf, LeafletGeoAdmin)
admin.site.register(ShapeLayers, admin.ModelAdmin)

View File

@ -0,0 +1,23 @@
# Generated by Django 3.2.9 on 2022-06-06 06:23
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rog', '0004_auto_20220606_0023'),
]
operations = [
migrations.AlterField(
model_name='location',
name='event_active',
field=models.BooleanField(default=True, verbose_name='Is Event active'),
),
migrations.AlterField(
model_name='location',
name='event_name',
field=models.CharField(blank=True, max_length=512, null=True, verbose_name='Event name'),
),
]

View File

@ -201,8 +201,8 @@ class Location(models.Model):
facility=models.CharField(_('Facility'), max_length=255, blank=True, null=True)
remark=models.CharField(_('Remarks'), max_length=255, blank=True, null=True)
tags=models.CharField(_('Tags'), max_length=512, blank=True, null=True)
event_name = models.CharField(_('Tags'), max_length=512, blank=True, null=True)
event_active = models.BooleanField(_("Is Autologin"),default=True)
event_name = models.CharField(_('Event name'), max_length=512, blank=True, null=True)
event_active = models.BooleanField(_("Is Event active"),default=True)
auto_checkin = models.BooleanField(_("Is Autologin"),default=False)
checkin_radious = models.IntegerField(_("Checkin Radious"), blank=True, null=True)
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)

View File

@ -1,7 +1,7 @@
from rest_framework import serializers
from rest_framework_gis.serializers import GeoFeatureModelSerializer
from sqlalchemy.sql.functions import mode
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, GifuAreas
from drf_extra_fields.fields import Base64ImageField
#from django.contrib.auth.models import User
@ -54,6 +54,12 @@ class JPN_perfSerializer(serializers.ModelSerializer):
fields=['id','et_id', 'et_right', 'et_left', 'adm2_l', 'adm1_l', 'adm0_l', 'adm0_r', 'adm1_r', 'adm2_r', 'admlevel']
class GifuAreaSerializer(serializers.ModelSerializer):
class Meta:
model= GifuAreas
fields=['id', 'adm0_ja', 'adm0_pcode', 'adm1_en', 'adm1_ja', 'adm1_pcode', 'adm2_ja', 'adm2_en', 'adm2_pcode', 'area_nm']
class CreateUserSerializer(serializers.ModelSerializer):
class Meta:

View File

@ -1,6 +1,6 @@
from rest_framework import urlpatterns
from rest_framework.routers import DefaultRouter
from .views import LocationViewSet, Location_lineViewSet, Location_polygonViewSet, Jpn_Main_PerfViewSet, Jpn_PerfViewSet, LocationsInPerf, SubInPerf, ExtentForSubPerf, SubPerfInMainPerf, ExtentForMainPerf, LocationsInSubPerf, CatView, RegistrationAPI, LoginAPI, UserAPI, UserActionViewset, UserMakeActionViewset, UserDestinations, UpdateOrder, LocationInBound, DeleteDestination
from .views import LocationViewSet, Location_lineViewSet, Location_polygonViewSet, Jpn_Main_PerfViewSet, Jpn_PerfViewSet, LocationsInPerf, SubInPerf, ExtentForSubPerf, SubPerfInMainPerf, ExtentForMainPerf, LocationsInSubPerf, CatView, RegistrationAPI, LoginAPI, UserAPI, UserActionViewset, UserMakeActionViewset, UserDestinations, UpdateOrder, LocationInBound, DeleteDestination, CustomAreaLocations, GetAllGifuAreas
from django.urls import path, include
from knox import views as knox_views
@ -23,6 +23,7 @@ urlpatterns += [
path('insubperf', LocationsInSubPerf, name='location_subperf'),
path('inbound', LocationInBound, name='location_bound'),
path('subperfinmain/', SubPerfInMainPerf, name="sub_perf"),
path('allgifuareas/', GetAllGifuAreas, name="custom_area"),
path('perfext/', ExtentForSubPerf, name="sub_perf_ext"),
path('mainperfext/', ExtentForMainPerf, name="main_perf_ext"),
path('cats/', CatView, name='cats'),
@ -34,5 +35,6 @@ urlpatterns += [
path('makeaction/', UserMakeActionViewset, name='user_action'),
path('destinations/', UserDestinations, name='user_destinations'),
path('updateorder/', UpdateOrder, name='updateorder'),
path('delete_destination/', DeleteDestination, name='delete_detination')
path('delete_destination/', DeleteDestination, name='delete_detination'),
path('custom_area/', CustomAreaLocations, name='custom_area_location')
]

View File

@ -1,7 +1,7 @@
from django.core.serializers import serialize
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, CustomUser
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, GifuAreas
from rest_framework import viewsets
from .serializers import LocationSerializer, Location_lineSerializer, Location_polygonSerializer, JPN_main_perfSerializer, JPN_perfSerializer, JPN_sub_perSerializer, LocationCatSerializer, CreateUserSerializer, UserSerializer, LoginUserSerializer, UseractionsSerializer, UserDestinationSerializer
from .serializers import LocationSerializer, Location_lineSerializer, Location_polygonSerializer, JPN_main_perfSerializer, JPN_perfSerializer, JPN_sub_perSerializer, LocationCatSerializer, CreateUserSerializer, UserSerializer, LoginUserSerializer, UseractionsSerializer, UserDestinationSerializer, GifuAreaSerializer
from knox.models import AuthToken
from rest_framework import viewsets, permissions, generics
@ -16,6 +16,7 @@ from .models import TestModel
from django.shortcuts import get_object_or_404
from django.db.models import F
from django.contrib.gis import geos
from django.db.models import Q
@ -88,9 +89,9 @@ def LocationInBound(request):
pl = geos.Polygon(((lon1, lat1), (lon2, lat2), (lon3, lat3), (lon4, lat4), (lon1, lat1)), srid=4326)
if(cat):
print("----res from cat")
locs = Location.objects.filter(geom__within=pl, category=cat)
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True)
else:
locs = Location.objects.filter(geom__within=pl)
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True)
#res = Location.objects.filter(geom__within=pl)
if len(locs) > 50:
return JsonResponse({"too_many_points": True}, safe=False, status=500)
@ -112,14 +113,21 @@ def SubInPerf(request):
def SubPerfInMainPerf(request):
prefecture = request.GET.get('perf')
perf_geom = JpnAdminMainPerf.objects.get(id=prefecture)
sub = JpnSubPerf.objects.filter(geom__within=perf_geom.geom)
area = request.GET.get('area')
perf_geom = GifuAreas.objects.get(id=area)
sub = JpnSubPerf.objects.filter(geom__contained=perf_geom.geom)
#serializer = JPN_sub_perSerializer
#sub = JpnAdminPerf.objects.filter(geom__within=perf_geom.geom)
serializer = JPN_sub_perSerializer(sub, many=True)
return JsonResponse(serializer.data, safe=False)
def GetAllGifuAreas(request):
prefecture = request.GET.get('perf')
perf_geom = JpnAdminMainPerf.objects.get(id=prefecture)
sub = GifuAreas.objects.filter(geom__contained=perf_geom.geom)
serializer = GifuAreaSerializer(sub, many=True)
return JsonResponse(serializer.data, safe=False)
def ExtentForMainPerf(request):
perf_id = request.GET.get('perf')
@ -289,6 +297,20 @@ def DeleteDestination(request):
return JsonResponse({"success":0}, safe=False)
def CustomAreaLocations(request):
cat = request.GET.get('cat')
if(cat != None):
print("----res from cat")
locs = Location.objects.filter(event_name__isnull=False, category=cat)
else:
locs = Location.objects.filter(event_name__isnull=False)
serializer = LocationSerializer(locs, many=True)
return JsonResponse(serializer.data, safe=False)
class TestActionViewSet(viewsets.ModelViewSet):
serializer_class = TestSerialiser