This commit is contained in:
Mohamed Nouffer
2022-03-16 17:46:22 +05:30
parent 3dd2ccf56e
commit ecb84a054b
6 changed files with 114 additions and 137 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 from .models import RogUser, Location, SystemSettings, JoinedEvent, Favorite, TravelList, TravelPoint, ShapeLayers, Event, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf
class RogAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin): class RogAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin):
@ -27,4 +27,6 @@ admin.site.register(TravelPoint, admin.ModelAdmin)
admin.site.register(Event, admin.ModelAdmin) 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(JpnAdminPerf, LeafletGeoAdmin)
admin.site.register(ShapeLayers, admin.ModelAdmin) admin.site.register(ShapeLayers, admin.ModelAdmin)

View File

@ -1,4 +1,4 @@
# Generated by Django 3.2.9 on 2022-03-07 07:10 # Generated by Django 3.2.9 on 2022-03-16 11:00
from django.conf import settings from django.conf import settings
import django.contrib.gis.db.models.fields import django.contrib.gis.db.models.fields
@ -15,6 +15,44 @@ class Migration(migrations.Migration):
] ]
operations = [ operations = [
migrations.CreateModel(
name='JpnAdminMainPerf',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('geom', django.contrib.gis.db.models.fields.MultiPolygonField(blank=True, null=True, srid=4326)),
('adm0_en', models.CharField(blank=True, max_length=254, null=True)),
('adm0_ja', models.CharField(blank=True, max_length=254, null=True)),
('adm0_pcode', models.CharField(blank=True, max_length=254, null=True)),
('adm1_en', models.CharField(blank=True, max_length=254, null=True)),
('adm1_ja', models.CharField(blank=True, max_length=254, null=True)),
('adm1_pcode', models.CharField(blank=True, max_length=254, null=True)),
],
options={
'db_table': 'jpn_admin_main_perf',
'managed': False,
},
),
migrations.CreateModel(
name='JpnAdminPerf',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('geom', django.contrib.gis.db.models.fields.MultiLineStringField(blank=True, null=True, srid=4326)),
('et_id', models.IntegerField(blank=True, null=True)),
('et_right', models.CharField(blank=True, max_length=80, null=True)),
('et_left', models.CharField(blank=True, max_length=80, null=True)),
('adm2_l', models.CharField(blank=True, max_length=50, null=True)),
('adm1_l', models.CharField(blank=True, max_length=50, null=True)),
('adm0_l', models.CharField(blank=True, max_length=50, null=True)),
('adm0_r', models.CharField(blank=True, max_length=50, null=True)),
('adm1_r', models.CharField(blank=True, max_length=50, null=True)),
('adm2_r', models.CharField(blank=True, max_length=50, null=True)),
('admlevel', models.IntegerField(blank=True, null=True)),
],
options={
'db_table': 'jpn_admin_perf',
'managed': False,
},
),
migrations.CreateModel( migrations.CreateModel(
name='Location', name='Location',
fields=[ fields=[
@ -31,13 +69,13 @@ class Migration(migrations.Migration):
('videos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Videos')), ('videos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Videos')),
('webcontents', models.CharField(blank=True, max_length=255, null=True, verbose_name='Web Content')), ('webcontents', models.CharField(blank=True, max_length=255, null=True, verbose_name='Web Content')),
('status', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('status', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
('portal', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('portal', models.CharField(blank=True, max_length=255, null=True, verbose_name='Portal')),
('group', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('group', models.CharField(blank=True, max_length=255, null=True, verbose_name='Group')),
('phone', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('phone', models.CharField(blank=True, max_length=255, null=True, verbose_name='Phone')),
('fax', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('fax', models.CharField(blank=True, max_length=255, null=True, verbose_name='Fax')),
('email', models.EmailField(blank=True, max_length=255, null=True, verbose_name='Email')), ('email', models.EmailField(blank=True, max_length=255, null=True, verbose_name='Email')),
('facility', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('facility', models.CharField(blank=True, max_length=255, null=True, verbose_name='Facility')),
('remark', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('remark', models.CharField(blank=True, max_length=255, null=True, verbose_name='Remarks')),
('tags', models.CharField(blank=True, max_length=512, null=True, verbose_name='Tags')), ('tags', models.CharField(blank=True, max_length=512, null=True, verbose_name='Tags')),
('parammeters', models.CharField(blank=True, max_length=512, null=True, verbose_name='Parameters')), ('parammeters', models.CharField(blank=True, max_length=512, null=True, verbose_name='Parameters')),
('created_at', models.DateTimeField(auto_now_add=True)), ('created_at', models.DateTimeField(auto_now_add=True)),
@ -46,16 +84,6 @@ class Migration(migrations.Migration):
('last_updated_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='location_updated_user', to=settings.AUTH_USER_MODEL)), ('last_updated_user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.DO_NOTHING, related_name='location_updated_user', to=settings.AUTH_USER_MODEL)),
], ],
), ),
migrations.CreateModel(
name='RogEvent',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=255, verbose_name='Title')),
('venue', models.CharField(max_length=255, verbose_name='Venue')),
('at_date', models.DateTimeField(auto_now_add=True, verbose_name='At Date')),
('geom', django.contrib.gis.db.models.fields.MultiPointField(srid=4326)),
],
),
migrations.CreateModel( migrations.CreateModel(
name='ShapeLayers', name='ShapeLayers',
fields=[ fields=[
@ -67,14 +95,6 @@ class Migration(migrations.Migration):
('table_name', models.CharField(blank=True, max_length=255, verbose_name='Table name')), ('table_name', models.CharField(blank=True, max_length=255, verbose_name='Table name')),
], ],
), ),
migrations.CreateModel(
name='Shop',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, verbose_name='Shop name')),
('geom', django.contrib.gis.db.models.fields.MultiPointField(srid=4326)),
],
),
migrations.CreateModel( migrations.CreateModel(
name='TravelList', name='TravelList',
fields=[ fields=[
@ -125,15 +145,6 @@ class Migration(migrations.Migration):
('last_updated_user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='system_setting_updated_user', to=settings.AUTH_USER_MODEL)), ('last_updated_user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, related_name='system_setting_updated_user', to=settings.AUTH_USER_MODEL)),
], ],
), ),
migrations.CreateModel(
name='ShopRoute',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, verbose_name='Name')),
('geom', django.contrib.gis.db.models.fields.MultiLineStringField(srid=4326)),
('shop', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='rog.shop')),
],
),
migrations.CreateModel( migrations.CreateModel(
name='RogUser', name='RogUser',
fields=[ fields=[
@ -175,13 +186,13 @@ class Migration(migrations.Migration):
('videos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Videos')), ('videos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Videos')),
('webcontents', models.CharField(blank=True, max_length=255, null=True, verbose_name='Web Content')), ('webcontents', models.CharField(blank=True, max_length=255, null=True, verbose_name='Web Content')),
('status', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('status', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
('portal', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('portal', models.CharField(blank=True, max_length=255, null=True, verbose_name='Portal')),
('group', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('group', models.CharField(blank=True, max_length=255, null=True, verbose_name='Group')),
('phone', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('phone', models.CharField(blank=True, max_length=255, null=True, verbose_name='Phone')),
('fax', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('fax', models.CharField(blank=True, max_length=255, null=True, verbose_name='Fax')),
('email', models.EmailField(blank=True, max_length=255, null=True, verbose_name='Email')), ('email', models.EmailField(blank=True, max_length=255, null=True, verbose_name='Email')),
('facility', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('facility', models.CharField(blank=True, max_length=255, null=True, verbose_name='Facility')),
('remark', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('remark', models.CharField(blank=True, max_length=255, null=True, verbose_name='Remarks')),
('tags', models.CharField(blank=True, max_length=512, null=True, verbose_name='Tags')), ('tags', models.CharField(blank=True, max_length=512, null=True, verbose_name='Tags')),
('parammeters', models.CharField(blank=True, max_length=512, null=True, verbose_name='Parameters')), ('parammeters', models.CharField(blank=True, max_length=512, null=True, verbose_name='Parameters')),
('created_at', models.DateTimeField(auto_now_add=True)), ('created_at', models.DateTimeField(auto_now_add=True)),
@ -206,13 +217,13 @@ class Migration(migrations.Migration):
('videos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Videos')), ('videos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Videos')),
('webcontents', models.CharField(blank=True, max_length=255, null=True, verbose_name='Web Content')), ('webcontents', models.CharField(blank=True, max_length=255, null=True, verbose_name='Web Content')),
('status', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('status', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')),
('portal', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('portal', models.CharField(blank=True, max_length=255, null=True, verbose_name='Portal')),
('group', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('group', models.CharField(blank=True, max_length=255, null=True, verbose_name='Group')),
('phone', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('phone', models.CharField(blank=True, max_length=255, null=True, verbose_name='Phone')),
('fax', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('fax', models.CharField(blank=True, max_length=255, null=True, verbose_name='Fax')),
('email', models.EmailField(blank=True, max_length=255, null=True, verbose_name='Email')), ('email', models.EmailField(blank=True, max_length=255, null=True, verbose_name='Email')),
('facility', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('facility', models.CharField(blank=True, max_length=255, null=True, verbose_name='Facility')),
('remark', models.CharField(blank=True, max_length=255, null=True, verbose_name='Status')), ('remark', models.CharField(blank=True, max_length=255, null=True, verbose_name='Remarks')),
('tags', models.CharField(blank=True, max_length=512, null=True, verbose_name='Tags')), ('tags', models.CharField(blank=True, max_length=512, null=True, verbose_name='Tags')),
('parammeters', models.CharField(blank=True, max_length=512, null=True, verbose_name='Parameters')), ('parammeters', models.CharField(blank=True, max_length=512, null=True, verbose_name='Parameters')),
('created_at', models.DateTimeField(auto_now_add=True)), ('created_at', models.DateTimeField(auto_now_add=True)),
@ -255,15 +266,6 @@ class Migration(migrations.Migration):
('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL)), ('user', models.ForeignKey(on_delete=django.db.models.deletion.DO_NOTHING, to=settings.AUTH_USER_MODEL)),
], ],
), ),
migrations.CreateModel(
name='EventRoute',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255, verbose_name='Name')),
('geom', django.contrib.gis.db.models.fields.MultiLineStringField(srid=4326)),
('event', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, to='rog.rogevent')),
],
),
migrations.CreateModel( migrations.CreateModel(
name='Event', name='Event',
fields=[ fields=[

View File

@ -25,6 +25,40 @@ environ.Env.read_env(env_file=".env")
db = Db(dbname=env("POSTGRES_DBNAME"), user=env("POSTGRES_USER"), password=env("POSTGRES_PASS"), host="postgres-db", port=env("PG_PORT")) db = Db(dbname=env("POSTGRES_DBNAME"), user=env("POSTGRES_USER"), password=env("POSTGRES_PASS"), host="postgres-db", port=env("PG_PORT"))
class JpnAdminMainPerf(models.Model):
geom = models.MultiPolygonField(blank=True, null=True)
adm0_en = models.CharField(max_length=254, blank=True, null=True)
adm0_ja = models.CharField(max_length=254, blank=True, null=True)
adm0_pcode = models.CharField(max_length=254, blank=True, null=True)
adm1_en = models.CharField(max_length=254, blank=True, null=True)
adm1_ja = models.CharField(max_length=254, blank=True, null=True)
adm1_pcode = models.CharField(max_length=254, blank=True, null=True)
class Meta:
managed = False
db_table = 'jpn_admin_main_perf'
class JpnAdminPerf(models.Model):
geom = models.MultiLineStringField(blank=True, null=True)
et_id = models.IntegerField(blank=True, null=True)
et_right = models.CharField(max_length=80, blank=True, null=True)
et_left = models.CharField(max_length=80, blank=True, null=True)
adm2_l = models.CharField(max_length=50, blank=True, null=True)
adm1_l = models.CharField(max_length=50, blank=True, null=True)
adm0_l = models.CharField(max_length=50, blank=True, null=True)
adm0_r = models.CharField(max_length=50, blank=True, null=True)
adm1_r = models.CharField(max_length=50, blank=True, null=True)
adm2_r = models.CharField(max_length=50, blank=True, null=True)
admlevel = models.IntegerField(blank=True, null=True)
class Meta:
managed = False
db_table = 'jpn_admin_perf'
class RogUser(models.Model): class RogUser(models.Model):
user=models.OneToOneField(User, on_delete=models.CASCADE) user=models.OneToOneField(User, on_delete=models.CASCADE)
email=models.EmailField(_('Email')) email=models.EmailField(_('Email'))
@ -254,40 +288,6 @@ class TravelPoint(models.Model):
class RogEvent(models.Model):
title=models.CharField(_('Title'), max_length=255)
venue=models.CharField(_('Venue'), max_length=255)
at_date=models.DateTimeField(_('At Date'), auto_now_add=True)
geom=models.MultiPointField(srid=4326)
def __str__(self):
return self.title
class EventRoute(models.Model):
name = models.CharField(_("Name"), max_length=255)
event = models.OneToOneField(RogEvent, on_delete=models.CASCADE)
geom = models.MultiLineStringField(srid=4326)
def __str__(self):
return self.name
class Shop(models.Model):
name=models.CharField(_('Shop name'), max_length=255)
geom=models.MultiPointField(srid=4326)
def __str__(self):
return self.name
class ShopRoute(models.Model):
name = models.CharField(_("Name"), max_length=255)
shop = models.OneToOneField(Shop, on_delete=models.CASCADE)
geom = models.MultiLineStringField(srid=4326)
def __str__(self):
return self.name
def getTableForModel(tbl): def getTableForModel(tbl):
if tbl == 1: if tbl == 1:

View File

@ -1,6 +1,7 @@
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 RogEvent, Shop, EventRoute, ShopRoute, Location, Location_line, Location_polygon from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf
from drf_extra_fields.fields import Base64ImageField from drf_extra_fields.fields import Base64ImageField
@ -24,29 +25,12 @@ class Location_polygonSerializer(GeoFeatureModelSerializer):
fields="__all__" fields="__all__"
class RogEventSerializer(GeoFeatureModelSerializer): class JPN_main_perfSerializer(serializers.ModelSerializer):
class Meta: class Meta:
model=RogEvent model=JpnAdminMainPerf
geo_field="geom" fields=['adm0_en', 'adm0_ja', 'adm0_pcode', 'adm1_en', 'adm1_ja', 'adm1_pcode']
fields="__all__"
class JPN_perfSerializer(serializers.ModelSerializer):
class ShopSerializer(GeoFeatureModelSerializer):
class Meta: class Meta:
model=Shop model=JpnAdminPerf
geo_field="geom" fields=['et_id', 'et_right', 'et_left', 'adm2_l', 'adm1_l', 'adm0_l', 'adm0_r', 'adm1_r', 'adm2_r', 'admlevel']
fields="__all__"
class EventRouteSerializer(GeoFeatureModelSerializer):
class Meta:
model=EventRoute
geo_field="geom"
fields="__all__"
class ShopRouteSerializer(GeoFeatureModelSerializer):
class Meta:
model=ShopRoute
geo_field="geom"
fields="__all__"

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 RogEventViewSet, EventRouteViewSet, ShopViewSet, ShopRouteViewSet, LocationViewSet, Location_lineViewSet, Location_polygonViewSet from .views import LocationViewSet, Location_lineViewSet, Location_polygonViewSet, Jpn_Main_PerfViewSet, Jpn_PerfViewSet
from django.urls import path, include from django.urls import path, include
@ -9,10 +9,8 @@ router = DefaultRouter()
router.register(prefix='location', viewset=LocationViewSet, basename='location') router.register(prefix='location', viewset=LocationViewSet, basename='location')
router.register(prefix='location_line', viewset=Location_lineViewSet, basename="location_line") router.register(prefix='location_line', viewset=Location_lineViewSet, basename="location_line")
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', viewset=Jpn_PerfViewSet, basename='perf')
router.register(prefix='v1/rog', viewset=RogEventViewSet, basename='rog')
router.register(prefix='v1/eventroute', viewset=EventRouteViewSet, basename='eventroute')
router.register(prefix='v1/shop', viewset=ShopViewSet, basename='shop')
router.register(prefix='v1/shoproute', viewset=ShopRouteViewSet, basename='shoproute')
urlpatterns = router.urls urlpatterns = router.urls

View File

@ -1,7 +1,8 @@
from django.core.serializers import serialize from django.core.serializers import serialize
from .models import RogEvent, ShopRoute, EventRoute, Shop, Location, Location_line, Location_polygon from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf
from rest_framework import viewsets from rest_framework import viewsets
from .serializers import RogEventSerializer, EventRouteSerializer, ShopSerializer, ShopRouteSerializer, LocationSerializer, Location_lineSerializer, Location_polygonSerializer from .serializers import LocationSerializer, Location_lineSerializer, Location_polygonSerializer, JPN_main_perfSerializer, JPN_perfSerializer
from rest_framework.decorators import action from rest_framework.decorators import action
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.parsers import JSONParser, MultiPartParser from rest_framework.parsers import JSONParser, MultiPartParser
@ -23,23 +24,13 @@ class Location_polygonViewSet(viewsets.ModelViewSet):
serializer_class=Location_polygonSerializer serializer_class=Location_polygonSerializer
class Jpn_Main_PerfViewSet(viewsets.ModelViewSet):
queryset=JpnAdminMainPerf.objects.all()
serializer_class=JPN_main_perfSerializer
class RogEventViewSet(viewsets.ModelViewSet): class Jpn_PerfViewSet(viewsets.ModelViewSet):
queryset=RogEvent.objects.all() queryset=JpnAdminPerf.objects.all()
serializer_class=RogEventSerializer serializer_class=JPN_perfSerializer
class EventRouteViewSet(viewsets.ModelViewSet):
queryset=EventRoute.objects.all()
serializer_class=EventRouteSerializer
class ShopViewSet(viewsets.ModelViewSet):
queryset=Shop.objects.all()
serializer_class=ShopSerializer
class ShopRouteViewSet(viewsets.ModelViewSet):
queryset=ShopRoute.objects.all()
serializer_class=ShopRouteSerializer