This commit is contained in:
Mohamed Nouffer
2022-06-13 01:55:45 +05:30
parent 11a3ac4237
commit 8112779eda
7 changed files with 75 additions and 7 deletions

View File

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

View File

@ -0,0 +1,18 @@
# Generated by Django 3.2.9 on 2022-06-10 06:25
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('rog', '0009_remove_roguser_email'),
]
operations = [
migrations.AddField(
model_name='useractions',
name='checkinimage',
field=models.FileField(blank=True, null=True, upload_to='%y%m%d'),
),
]

View File

@ -0,0 +1,25 @@
# Generated by Django 3.2.9 on 2022-06-12 18:11
from django.conf import settings
import django.contrib.gis.db.models.fields
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('rog', '0010_useractions_checkinimage'),
]
operations = [
migrations.CreateModel(
name='UserTracks',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('geom', django.contrib.gis.db.models.fields.MultiPointField(srid=4326)),
('created_at', models.DateTimeField(auto_now_add=True)),
('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL)),
],
),
]

View File

@ -278,6 +278,12 @@ class Location_polygon(models.Model):
return str(self.location_name) return str(self.location_name)
class UserTracks(models.Model):
user=models.ForeignKey(CustomUser, on_delete=models.DO_NOTHING)
geom=models.MultiPointField(srid=4326)
created_at=models.DateTimeField(auto_now_add=True)
EVENT_STATUS = ( EVENT_STATUS = (
("PREPARING", _("Preparing")), ("PREPARING", _("Preparing")),
@ -385,7 +391,7 @@ class Useractions(models.Model):
wanttogo=models.BooleanField(default=False) wanttogo=models.BooleanField(default=False)
like=models.BooleanField(default=False) like=models.BooleanField(default=False)
checkin=models.BooleanField(default=False) checkin=models.BooleanField(default=False)
# checkinimage=models.FileField(upload_to='%y%m%d', blank=True, null=True) checkinimage=models.FileField(upload_to='%y%m%d', blank=True, null=True)
order =models.IntegerField(default=0) order =models.IntegerField(default=0)
created_at=models.DateTimeField(auto_now_add=True) created_at=models.DateTimeField(auto_now_add=True)
last_updated_at=models.DateTimeField(auto_now=True) last_updated_at=models.DateTimeField(auto_now=True)

View File

@ -1,7 +1,7 @@
from rest_framework import serializers from rest_framework import serializers
from rest_framework_gis.serializers import GeoFeatureModelSerializer from rest_framework_gis.serializers import GeoFeatureModelSerializer
from sqlalchemy.sql.functions import mode from sqlalchemy.sql.functions import mode
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, GifuAreas, RogUser from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, GifuAreas, RogUser, UserTracks
from drf_extra_fields.fields import Base64ImageField from drf_extra_fields.fields import Base64ImageField
#from django.contrib.auth.models import User #from django.contrib.auth.models import User
@ -117,12 +117,24 @@ class UserDestinationSerializer(serializers.ModelSerializer):
fields = ('id', 'user', 'location', 'wanttogo', 'like', 'checkin') fields = ('id', 'user', 'location', 'wanttogo', 'like', 'checkin')
class LocationEventNameSerializer(serializers.ModelSerializer): class LocationEventNameSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model = Location model = Location
fields = ('id', 'event_name',) fields = ('id', 'event_name',)
class UserTracksSerializer(GeoFeatureModelSerializer):
user_id = serializers.IntegerField()
class Meta:
model=UserTracks
geo_field = 'geom'
fields = ["user_id",]
def create(self, validated_data):
user_id = validated_data.pop("user_id", None)
user = CustomUser.objects.get(id=user_id)
return UserTracks.objects.create(user=user, **validated_data)
class TestSerialiser(serializers.ModelSerializer): class TestSerialiser(serializers.ModelSerializer):
class Meta: class Meta:

View File

@ -1,6 +1,6 @@
from rest_framework import urlpatterns from rest_framework import urlpatterns
from rest_framework.routers import DefaultRouter 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, CustomAreaLocations, GetAllGifuAreas, CustomAreaNames, userDetials 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, CustomAreaNames, userDetials, UserTracksViewSet
from django.urls import path, include from django.urls import path, include
from knox import views as knox_views from knox import views as knox_views
@ -14,6 +14,7 @@ router.register(prefix='location_line', viewset=Location_lineViewSet, basename="
router.register(prefix='location_polygon', viewset=Location_polygonViewSet, basename='location_polygon') router.register(prefix='location_polygon', viewset=Location_polygonViewSet, basename='location_polygon')
router.register(prefix='perf_main', viewset=Jpn_Main_PerfViewSet, basename='main_perf') router.register(prefix='perf_main', viewset=Jpn_Main_PerfViewSet, basename='main_perf')
router.register(prefix='perf', viewset=Jpn_PerfViewSet, basename='perf') router.register(prefix='perf', viewset=Jpn_PerfViewSet, basename='perf')
router.register(prefix='track', viewset=UserTracksViewSet, basename='track')
urlpatterns = router.urls urlpatterns = router.urls

View File

@ -1,7 +1,7 @@
from django.core.serializers import serialize from django.core.serializers import serialize
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, GifuAreas, RogUser, CustomUser from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, GifuAreas, RogUser, CustomUser, UserTracks
from rest_framework import viewsets 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, GifuAreaSerializer, LocationEventNameSerializer, RogUserSerializer from .serializers import LocationSerializer, Location_lineSerializer, Location_polygonSerializer, JPN_main_perfSerializer, JPN_perfSerializer, JPN_sub_perSerializer, LocationCatSerializer, CreateUserSerializer, UserSerializer, LoginUserSerializer, UseractionsSerializer, UserDestinationSerializer, GifuAreaSerializer, LocationEventNameSerializer, RogUserSerializer, UserTracksSerializer
from knox.models import AuthToken from knox.models import AuthToken
from rest_framework import viewsets, permissions, generics from rest_framework import viewsets, permissions, generics
@ -45,6 +45,11 @@ class Jpn_PerfViewSet(viewsets.ModelViewSet):
queryset=JpnAdminPerf.objects.all() queryset=JpnAdminPerf.objects.all()
serializer_class=JPN_perfSerializer serializer_class=JPN_perfSerializer
class UserTracksViewSet(viewsets.ModelViewSet):
queryset = UserTracks.objects.all()
serializer_class = UserTracksSerializer
def LocationsInPerf(request): def LocationsInPerf(request):
perfecture = request.GET.get('perf') perfecture = request.GET.get('perf')