update
This commit is contained in:
@ -149,6 +149,9 @@ MEDIA_ROOT = BASE_DIR / "media/"
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
AUTH_USER_MODEL = 'rog.CustomUser'
|
||||||
|
|
||||||
|
|
||||||
# Default primary key field type
|
# Default primary key field type
|
||||||
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
|
# https://docs.djangoproject.com/en/3.2/ref/settings/#default-auto-field
|
||||||
|
|
||||||
|
|||||||
23
rog/admin.py
23
rog/admin.py
@ -2,8 +2,8 @@ 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
|
from .models import RogUser, Location, SystemSettings, JoinedEvent, Favorite, TravelList, TravelPoint, ShapeLayers, Event, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, CustomUser
|
||||||
|
from django.contrib.auth.admin import UserAdmin
|
||||||
|
|
||||||
class RogAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin):
|
class RogAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin):
|
||||||
list_display=['title', 'venue', 'at_date',]
|
list_display=['title', 'venue', 'at_date',]
|
||||||
@ -17,6 +17,23 @@ class EventRouteAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAd
|
|||||||
class ShopRouteAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin):
|
class ShopRouteAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin):
|
||||||
list_display=['name',]
|
list_display=['name',]
|
||||||
|
|
||||||
|
class UserAdminConfig(UserAdmin):
|
||||||
|
search_fields = ('email',)
|
||||||
|
list_filter = ('email',)
|
||||||
|
ordering = ('email',)
|
||||||
|
list_display = ('email', 'is_active', 'is_staff',)
|
||||||
|
|
||||||
|
fieldsets = (
|
||||||
|
(None, {'fields':('email',)}),
|
||||||
|
('Permissions', {'fields':('is_staff', 'is_active',)}),
|
||||||
|
)
|
||||||
|
|
||||||
|
add_fieldsets = (
|
||||||
|
(None, {'classes':('wide',), 'fields':('email','password1', 'password2')}),
|
||||||
|
)
|
||||||
|
|
||||||
|
admin.site.register(Useractions)
|
||||||
|
|
||||||
admin.site.register(RogUser, admin.ModelAdmin)
|
admin.site.register(RogUser, admin.ModelAdmin)
|
||||||
admin.site.register(Location, LeafletGeoAdmin)
|
admin.site.register(Location, LeafletGeoAdmin)
|
||||||
admin.site.register(SystemSettings, admin.ModelAdmin)
|
admin.site.register(SystemSettings, admin.ModelAdmin)
|
||||||
@ -31,3 +48,5 @@ admin.site.register(JpnAdminMainPerf, LeafletGeoAdmin)
|
|||||||
#admin.site.register(JpnAdminPerf, LeafletGeoAdmin)
|
#admin.site.register(JpnAdminPerf, LeafletGeoAdmin)
|
||||||
admin.site.register(JpnSubPerf, LeafletGeoAdmin)
|
admin.site.register(JpnSubPerf, LeafletGeoAdmin)
|
||||||
admin.site.register(ShapeLayers, admin.ModelAdmin)
|
admin.site.register(ShapeLayers, admin.ModelAdmin)
|
||||||
|
|
||||||
|
admin.site.register(CustomUser, UserAdminConfig)
|
||||||
@ -1,9 +1,10 @@
|
|||||||
# Generated by Django 3.2.9 on 2022-03-16 11:00
|
# Generated by Django 3.2.9 on 2022-05-04 15:05
|
||||||
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
import django.contrib.gis.db.models.fields
|
import django.contrib.gis.db.models.fields
|
||||||
from django.db import migrations, models
|
from django.db import migrations, models
|
||||||
import django.db.models.deletion
|
import django.db.models.deletion
|
||||||
|
import rog.models
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
@ -11,7 +12,7 @@ class Migration(migrations.Migration):
|
|||||||
initial = True
|
initial = True
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
('auth', '0012_alter_user_first_name_max_length'),
|
||||||
]
|
]
|
||||||
|
|
||||||
operations = [
|
operations = [
|
||||||
@ -53,18 +54,57 @@ class Migration(migrations.Migration):
|
|||||||
'managed': False,
|
'managed': False,
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='JpnSubPerf',
|
||||||
|
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)),
|
||||||
|
('adm2_ja', models.CharField(blank=True, max_length=254, null=True)),
|
||||||
|
('adm2_en', models.CharField(blank=True, max_length=254, null=True)),
|
||||||
|
('adm2_pcode', models.CharField(blank=True, max_length=254, null=True)),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'db_table': 'jpn_sub_perf',
|
||||||
|
'managed': False,
|
||||||
|
},
|
||||||
|
),
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='CustomUser',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('password', models.CharField(max_length=128, verbose_name='password')),
|
||||||
|
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
|
||||||
|
('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
|
||||||
|
('email', models.EmailField(max_length=254, unique=True, verbose_name='email address')),
|
||||||
|
('is_staff', models.BooleanField(default=False)),
|
||||||
|
('is_active', models.BooleanField(default=False)),
|
||||||
|
('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups')),
|
||||||
|
('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
),
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name='Location',
|
name='Location',
|
||||||
fields=[
|
fields=[
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
('location_id', models.IntegerField(blank=True, null=True, verbose_name='Location id')),
|
('location_id', models.IntegerField(blank=True, null=True, verbose_name='Location id')),
|
||||||
('location_name', models.CharField(max_length=255, verbose_name='Location Name')),
|
('location_name', models.CharField(default='--- 場所をお願いします --', max_length=255, verbose_name='Location Name')),
|
||||||
('category', models.CharField(blank=True, max_length=255, null=True, verbose_name='Category')),
|
('category', models.CharField(blank=True, max_length=255, null=True, verbose_name='Category')),
|
||||||
('zip', models.CharField(blank=True, max_length=12, null=True, verbose_name='Zip code')),
|
('zip', models.CharField(blank=True, max_length=12, null=True, verbose_name='Zip code')),
|
||||||
('address', models.CharField(blank=True, max_length=512, null=True, verbose_name='Address')),
|
('address', models.CharField(blank=True, max_length=512, null=True, verbose_name='Address')),
|
||||||
('prefecture', models.CharField(blank=True, max_length=255, null=True, verbose_name='Prefecture')),
|
('prefecture', models.CharField(blank=True, max_length=255, null=True, verbose_name='Prefecture')),
|
||||||
('area', models.CharField(blank=True, max_length=255, null=True, verbose_name='Area')),
|
('area', models.CharField(blank=True, max_length=255, null=True, verbose_name='Area')),
|
||||||
('city', models.CharField(blank=True, max_length=255, null=True, verbose_name='City')),
|
('city', models.CharField(blank=True, max_length=255, null=True, verbose_name='City')),
|
||||||
|
('latitude', models.FloatField(blank=True, null=True, verbose_name='Latitude')),
|
||||||
|
('longitude', models.FloatField(blank=True, null=True, verbose_name='Latitude')),
|
||||||
('photos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Phptos')),
|
('photos', models.CharField(blank=True, max_length=255, null=True, verbose_name='Phptos')),
|
||||||
('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')),
|
||||||
@ -89,12 +129,24 @@ class Migration(migrations.Migration):
|
|||||||
fields=[
|
fields=[
|
||||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
('name', models.CharField(max_length=255, verbose_name='Shape Layer')),
|
('name', models.CharField(max_length=255, verbose_name='Shape Layer')),
|
||||||
('file', models.FileField(blank=True, upload_to='%y%m%d')),
|
('file', models.FileField(blank=True, upload_to=rog.models.get_file_path)),
|
||||||
('uploaded_date', models.DateField(auto_now_add=True)),
|
('uploaded_date', models.DateField(auto_now_add=True)),
|
||||||
('layerof', models.IntegerField(choices=[(1, 'locations'), (2, 'Location_line'), (3, 'Location_polygon')], default=1)),
|
('layerof', models.IntegerField(choices=[(1, 'location'), (2, 'Location_line'), (3, 'Location_polygon')], default=1)),
|
||||||
('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='TestModel',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('testbane', models.CharField(max_length=355, verbose_name='test field')),
|
||||||
|
('wanttogo', models.BooleanField(default=False)),
|
||||||
|
('like', models.BooleanField(default=False)),
|
||||||
|
('checkin', models.BooleanField(default=False)),
|
||||||
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
||||||
|
('last_updated_at', models.DateTimeField(auto_now=True)),
|
||||||
|
],
|
||||||
|
),
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name='TravelList',
|
name='TravelList',
|
||||||
fields=[
|
fields=[
|
||||||
@ -115,6 +167,19 @@ 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='Useractions',
|
||||||
|
fields=[
|
||||||
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('wanttogo', models.BooleanField(default=False)),
|
||||||
|
('like', models.BooleanField(default=False)),
|
||||||
|
('checkin', models.BooleanField(default=False)),
|
||||||
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
||||||
|
('last_updated_at', models.DateTimeField(auto_now=True)),
|
||||||
|
('location', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='action_location', to='rog.location')),
|
||||||
|
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='action_user', to=settings.AUTH_USER_MODEL)),
|
||||||
|
],
|
||||||
|
),
|
||||||
migrations.CreateModel(
|
migrations.CreateModel(
|
||||||
name='TravelPoint',
|
name='TravelPoint',
|
||||||
fields=[
|
fields=[
|
||||||
|
|||||||
@ -1,19 +0,0 @@
|
|||||||
# Generated by Django 3.2.9 on 2022-03-23 06:42
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
import rog.models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('rog', '0001_initial'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='shapelayers',
|
|
||||||
name='file',
|
|
||||||
field=models.FileField(blank=True, upload_to=rog.models.get_file_path),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
23
rog/migrations/0002_auto_20220511_2017.py
Normal file
23
rog/migrations/0002_auto_20220511_2017.py
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# Generated by Django 3.2.9 on 2022-05-11 11:17
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('rog', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='useractions',
|
||||||
|
name='order',
|
||||||
|
field=models.IntegerField(default=-1),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='customuser',
|
||||||
|
name='is_active',
|
||||||
|
field=models.BooleanField(default=True),
|
||||||
|
),
|
||||||
|
]
|
||||||
18
rog/migrations/0003_alter_useractions_order.py
Normal file
18
rog/migrations/0003_alter_useractions_order.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Generated by Django 3.2.9 on 2022-05-11 17:52
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('rog', '0002_auto_20220511_2017'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='useractions',
|
||||||
|
name='order',
|
||||||
|
field=models.IntegerField(default=0),
|
||||||
|
),
|
||||||
|
]
|
||||||
@ -1,129 +0,0 @@
|
|||||||
# Generated by Django 3.2.9 on 2022-04-07 05:20
|
|
||||||
|
|
||||||
import django.contrib.gis.db.models.fields
|
|
||||||
from django.db import migrations, models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('rog', '0002_alter_shapelayers_file'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.CreateModel(
|
|
||||||
name='JpnSubPerf',
|
|
||||||
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)),
|
|
||||||
('adm2_ja', models.CharField(blank=True, max_length=254, null=True)),
|
|
||||||
('adm2_en', models.CharField(blank=True, max_length=254, null=True)),
|
|
||||||
('adm2_pcode', models.CharField(blank=True, max_length=254, null=True)),
|
|
||||||
],
|
|
||||||
options={
|
|
||||||
'db_table': 'jpn_sub_perf',
|
|
||||||
'managed': False,
|
|
||||||
},
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='address',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Address'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='area',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Area'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='category',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Category'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='city',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='City'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='email',
|
|
||||||
field=models.EmailField(blank=True, max_length=1024, null=True, verbose_name='Email'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='facility',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Facility'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='fax',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Fax'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='group',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Group'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='location_name',
|
|
||||||
field=models.CharField(max_length=1024, verbose_name='Location Name'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='parammeters',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Parameters'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='phone',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Phone'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='photos',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Phptos'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='portal',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Portal'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='prefecture',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Prefecture'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='remark',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Remarks'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='status',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Status'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='tags',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Tags'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='videos',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Videos'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='webcontents',
|
|
||||||
field=models.CharField(blank=True, max_length=1024, null=True, verbose_name='Web Content'),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@ -1,18 +0,0 @@
|
|||||||
# Generated by Django 3.2.9 on 2022-04-07 05:25
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('rog', '0003_auto_20220407_1420'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='webcontents',
|
|
||||||
field=models.TextField(blank=True, null=True, verbose_name='Web Content'),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@ -1,108 +0,0 @@
|
|||||||
# Generated by Django 3.2.9 on 2022-04-07 05:27
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('rog', '0004_alter_location_webcontents'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='address',
|
|
||||||
field=models.CharField(blank=True, max_length=512, null=True, verbose_name='Address'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='area',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Area'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='category',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Category'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='city',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='City'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='email',
|
|
||||||
field=models.EmailField(blank=True, max_length=255, null=True, verbose_name='Email'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='facility',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Facility'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='fax',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Fax'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='group',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Group'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='location_name',
|
|
||||||
field=models.CharField(max_length=255, verbose_name='Location Name'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='parammeters',
|
|
||||||
field=models.CharField(blank=True, max_length=512, null=True, verbose_name='Parameters'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='phone',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Phone'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='photos',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Phptos'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='portal',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Portal'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='prefecture',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Prefecture'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='remark',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Remarks'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='status',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Status'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='tags',
|
|
||||||
field=models.CharField(blank=True, max_length=512, null=True, verbose_name='Tags'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='videos',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Videos'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='webcontents',
|
|
||||||
field=models.CharField(blank=True, max_length=255, null=True, verbose_name='Web Content'),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
# Generated by Django 3.2.9 on 2022-04-08 07:54
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('rog', '0005_auto_20220407_1427'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='location',
|
|
||||||
name='location_name',
|
|
||||||
field=models.CharField(default='--- 場所をお願いします --', max_length=255, verbose_name='Location Name'),
|
|
||||||
),
|
|
||||||
migrations.AlterField(
|
|
||||||
model_name='shapelayers',
|
|
||||||
name='layerof',
|
|
||||||
field=models.IntegerField(choices=[(1, 'location'), (2, 'Location_line'), (3, 'Location_polygon')], default=1),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@ -1,23 +0,0 @@
|
|||||||
# Generated by Django 3.2.9 on 2022-04-18 06:03
|
|
||||||
|
|
||||||
from django.db import migrations, models
|
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
|
||||||
|
|
||||||
dependencies = [
|
|
||||||
('rog', '0006_auto_20220408_1654'),
|
|
||||||
]
|
|
||||||
|
|
||||||
operations = [
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='location',
|
|
||||||
name='latitude',
|
|
||||||
field=models.FloatField(blank=True, null=True, verbose_name='Latitude'),
|
|
||||||
),
|
|
||||||
migrations.AddField(
|
|
||||||
model_name='location',
|
|
||||||
name='longitude',
|
|
||||||
field=models.FloatField(blank=True, null=True, verbose_name='Latitude'),
|
|
||||||
),
|
|
||||||
]
|
|
||||||
@ -19,6 +19,7 @@ from .choices import LAYER_CHOICES
|
|||||||
from django.contrib.gis.utils import LayerMapping
|
from django.contrib.gis.utils import LayerMapping
|
||||||
from django.apps import apps
|
from django.apps import apps
|
||||||
from django.db import transaction
|
from django.db import transaction
|
||||||
|
from django.contrib.auth.models import AbstractBaseUser, PermissionsMixin, BaseUserManager
|
||||||
|
|
||||||
import csv
|
import csv
|
||||||
import codecs
|
import codecs
|
||||||
@ -32,6 +33,33 @@ 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 CustomUserManager(BaseUserManager):
|
||||||
|
|
||||||
|
def create_user(self, email, password, **other_fields):
|
||||||
|
|
||||||
|
if not email:
|
||||||
|
raise ValueError(_("You must provide an email address"))
|
||||||
|
|
||||||
|
email = self.normalize_email(email)
|
||||||
|
user=self.model(email=email, **other_fields)
|
||||||
|
user.set_password(password)
|
||||||
|
user.save()
|
||||||
|
|
||||||
|
return user
|
||||||
|
|
||||||
|
|
||||||
|
def create_superuser(self, email, password, **other_fields):
|
||||||
|
other_fields.setdefault('is_staff', True)
|
||||||
|
other_fields.setdefault('is_superuser', True)
|
||||||
|
other_fields.setdefault('is_active', True)
|
||||||
|
|
||||||
|
if other_fields.get('is_staff') is not True:
|
||||||
|
raise ValueError(_('Supperuser must assigned to staff'))
|
||||||
|
if other_fields.get('is_superuser') is not True:
|
||||||
|
raise ValueError(_('Supperuser must assigned to superuser=True'))
|
||||||
|
|
||||||
|
return self.create_user(email, password, **other_fields)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class JpnAdminMainPerf(models.Model):
|
class JpnAdminMainPerf(models.Model):
|
||||||
@ -82,9 +110,20 @@ class JpnSubPerf(models.Model):
|
|||||||
managed = False
|
managed = False
|
||||||
db_table = 'jpn_sub_perf'
|
db_table = 'jpn_sub_perf'
|
||||||
|
|
||||||
|
class CustomUser(AbstractBaseUser, PermissionsMixin):
|
||||||
|
email = models.EmailField(_("email address"), unique=True)
|
||||||
|
is_staff = models.BooleanField(default=False)
|
||||||
|
is_active = models.BooleanField(default=True)
|
||||||
|
USERNAME_FIELD = 'email'
|
||||||
|
|
||||||
|
objects = CustomUserManager()
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.email
|
||||||
|
|
||||||
|
|
||||||
class RogUser(models.Model):
|
class RogUser(models.Model):
|
||||||
user=models.OneToOneField(User, on_delete=models.CASCADE)
|
user=models.OneToOneField(CustomUser, on_delete=models.CASCADE)
|
||||||
email=models.EmailField(_('Email'))
|
email=models.EmailField(_('Email'))
|
||||||
phone=models.CharField(_('Phone Number'), max_length=55)
|
phone=models.CharField(_('Phone Number'), max_length=55)
|
||||||
first_name=models.CharField(_('First Name'), max_length=255)
|
first_name=models.CharField(_('First Name'), max_length=255)
|
||||||
@ -97,14 +136,15 @@ class RogUser(models.Model):
|
|||||||
sex=models.CharField(_('Sex'), max_length=255, default='unknown', blank=True, null=True)
|
sex=models.CharField(_('Sex'), max_length=255, default='unknown', blank=True, null=True)
|
||||||
birthyear=models.IntegerField(_('Birth year'), blank=True, null=True)
|
birthyear=models.IntegerField(_('Birth year'), blank=True, null=True)
|
||||||
family_structure =models.IntegerField(_('Family Structure'), blank=True, null=True)
|
family_structure =models.IntegerField(_('Family Structure'), blank=True, null=True)
|
||||||
introducer = models.ForeignKey(User, related_name='introduced_uesr', on_delete=models.DO_NOTHING)
|
introducer = models.ForeignKey(CustomUser, related_name='introduced_uesr', on_delete=models.DO_NOTHING)
|
||||||
level= models.IntegerField(_('Level'), blank=True, null=True, default=0)
|
level= models.IntegerField(_('Level'), blank=True, null=True, default=0)
|
||||||
parammeters=models.CharField(_('Parameters'), max_length=512)
|
parammeters=models.CharField(_('Parameters'), max_length=512)
|
||||||
created_at=models.DateTimeField(auto_now_add=True)
|
created_at=models.DateTimeField(auto_now_add=True)
|
||||||
last_updated_user=models.ForeignKey(User, related_name="roguser_updated_user", on_delete=models.DO_NOTHING)
|
last_updated_user=models.ForeignKey(CustomUser, related_name="roguser_updated_user", on_delete=models.DO_NOTHING)
|
||||||
last_updated_at=models.DateTimeField(auto_now=True)
|
last_updated_at=models.DateTimeField(auto_now=True)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class SystemSettings(models.Model):
|
class SystemSettings(models.Model):
|
||||||
setting_name=models.CharField(_('Settings Name'), max_length=255)
|
setting_name=models.CharField(_('Settings Name'), max_length=255)
|
||||||
version=models.CharField(_('Version'), max_length=10, blank=True, null=True)
|
version=models.CharField(_('Version'), max_length=10, blank=True, null=True)
|
||||||
@ -112,7 +152,7 @@ class SystemSettings(models.Model):
|
|||||||
end_date=models.DateTimeField()
|
end_date=models.DateTimeField()
|
||||||
parammeters=models.CharField(_('Parameters'), max_length=512)
|
parammeters=models.CharField(_('Parameters'), max_length=512)
|
||||||
created_at=models.DateTimeField(auto_now_add=True)
|
created_at=models.DateTimeField(auto_now_add=True)
|
||||||
last_updated_user=models.ForeignKey(User, related_name="system_setting_updated_user", on_delete=models.DO_NOTHING)
|
last_updated_user=models.ForeignKey(CustomUser, related_name="system_setting_updated_user", on_delete=models.DO_NOTHING)
|
||||||
last_updated_at=models.DateTimeField(auto_now=True)
|
last_updated_at=models.DateTimeField(auto_now=True)
|
||||||
|
|
||||||
class Location(models.Model):
|
class Location(models.Model):
|
||||||
@ -140,7 +180,7 @@ class Location(models.Model):
|
|||||||
tags=models.CharField(_('Tags'), max_length=512, blank=True, null=True)
|
tags=models.CharField(_('Tags'), max_length=512, blank=True, null=True)
|
||||||
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
|
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
|
||||||
created_at=models.DateTimeField(auto_now_add=True)
|
created_at=models.DateTimeField(auto_now_add=True)
|
||||||
last_updated_user=models.ForeignKey(User, related_name="location_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
|
last_updated_user=models.ForeignKey(CustomUser, related_name="location_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
|
||||||
last_updated_at=models.DateTimeField(auto_now=True)
|
last_updated_at=models.DateTimeField(auto_now=True)
|
||||||
geom=models.MultiPointField(srid=4326)
|
geom=models.MultiPointField(srid=4326)
|
||||||
|
|
||||||
@ -171,7 +211,7 @@ class Location_line(models.Model):
|
|||||||
tags=models.CharField(_('Tags'), max_length=512, blank=True, null=True)
|
tags=models.CharField(_('Tags'), max_length=512, blank=True, null=True)
|
||||||
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
|
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
|
||||||
created_at=models.DateTimeField(auto_now_add=True)
|
created_at=models.DateTimeField(auto_now_add=True)
|
||||||
last_updated_user=models.ForeignKey(User, related_name="location_line_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
|
last_updated_user=models.ForeignKey(CustomUser, related_name="location_line_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
|
||||||
last_updated_at=models.DateTimeField(auto_now=True)
|
last_updated_at=models.DateTimeField(auto_now=True)
|
||||||
geom=models.MultiLineStringField(srid=4326, blank=True, null=True)
|
geom=models.MultiLineStringField(srid=4326, blank=True, null=True)
|
||||||
|
|
||||||
@ -203,7 +243,7 @@ class Location_polygon(models.Model):
|
|||||||
tags=models.CharField(_('Tags'), max_length=512, blank=True, null=True)
|
tags=models.CharField(_('Tags'), max_length=512, blank=True, null=True)
|
||||||
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
|
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
|
||||||
created_at=models.DateTimeField(auto_now_add=True)
|
created_at=models.DateTimeField(auto_now_add=True)
|
||||||
last_updated_user=models.ForeignKey(User, related_name="location_polygon_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
|
last_updated_user=models.ForeignKey(CustomUser, related_name="location_polygon_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
|
||||||
last_updated_at=models.DateTimeField(auto_now=True)
|
last_updated_at=models.DateTimeField(auto_now=True)
|
||||||
geom=models.MultiPolygonField(srid=4326, blank=True, null=True)
|
geom=models.MultiPolygonField(srid=4326, blank=True, null=True)
|
||||||
|
|
||||||
@ -231,7 +271,7 @@ class Event(models.Model):
|
|||||||
remark=models.CharField(max_length=256, blank=True, null=True)
|
remark=models.CharField(max_length=256, blank=True, null=True)
|
||||||
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
|
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
|
||||||
created_at=models.DateTimeField(auto_now_add=True)
|
created_at=models.DateTimeField(auto_now_add=True)
|
||||||
last_updated_user=models.ForeignKey(User, related_name="event_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
|
last_updated_user=models.ForeignKey(CustomUser, related_name="event_updated_user", on_delete=models.DO_NOTHING,blank=True, null=True)
|
||||||
last_updated_at=models.DateTimeField(auto_now=True)
|
last_updated_at=models.DateTimeField(auto_now=True)
|
||||||
|
|
||||||
|
|
||||||
@ -244,7 +284,7 @@ ROG_STATUS = (
|
|||||||
)
|
)
|
||||||
|
|
||||||
class JoinedEvent(models.Model):
|
class JoinedEvent(models.Model):
|
||||||
user=models.ForeignKey(User, on_delete=models.DO_NOTHING)
|
user=models.ForeignKey(CustomUser, on_delete=models.DO_NOTHING)
|
||||||
tagname=models.CharField(_('Tag Name'), max_length=255, blank=True, null=True)
|
tagname=models.CharField(_('Tag Name'), max_length=255, blank=True, null=True)
|
||||||
status=models.CharField(max_length=256, choices=ROG_STATUS)
|
status=models.CharField(max_length=256, choices=ROG_STATUS)
|
||||||
registrationid=models.CharField(_('Registration Id'), max_length=56)
|
registrationid=models.CharField(_('Registration Id'), max_length=56)
|
||||||
@ -253,13 +293,13 @@ class JoinedEvent(models.Model):
|
|||||||
remark=models.CharField(_('Remark'), max_length=255, blank=True, null=True)
|
remark=models.CharField(_('Remark'), max_length=255, blank=True, null=True)
|
||||||
parammeters=models.CharField(_('Parameters'), max_length=512)
|
parammeters=models.CharField(_('Parameters'), max_length=512)
|
||||||
created_at=models.DateTimeField(auto_now_add=True)
|
created_at=models.DateTimeField(auto_now_add=True)
|
||||||
last_updated_user=models.ForeignKey(User, related_name="joined_event_updated_user", on_delete=models.DO_NOTHING)
|
last_updated_user=models.ForeignKey(CustomUser, related_name="joined_event_updated_user", on_delete=models.DO_NOTHING)
|
||||||
last_updated_at=models.DateTimeField(auto_now=True)
|
last_updated_at=models.DateTimeField(auto_now=True)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class Favorite(models.Model):
|
class Favorite(models.Model):
|
||||||
user=models.ForeignKey(User, on_delete=models.DO_NOTHING)
|
user=models.ForeignKey(CustomUser, on_delete=models.DO_NOTHING)
|
||||||
location=models.ForeignKey(Location, on_delete=models.CASCADE)
|
location=models.ForeignKey(Location, on_delete=models.CASCADE)
|
||||||
good=models.IntegerField(_('Good'), default=0)
|
good=models.IntegerField(_('Good'), default=0)
|
||||||
favorite=models.IntegerField(_('Favorite'), default=0)
|
favorite=models.IntegerField(_('Favorite'), default=0)
|
||||||
@ -268,7 +308,7 @@ class Favorite(models.Model):
|
|||||||
last_visited=models.DateTimeField(_('Last Visited'), blank=True, null=True)
|
last_visited=models.DateTimeField(_('Last Visited'), blank=True, null=True)
|
||||||
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
|
parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
|
||||||
created_at=models.DateTimeField(auto_now_add=True)
|
created_at=models.DateTimeField(auto_now_add=True)
|
||||||
last_updated_user=models.ForeignKey(User, related_name="favorite_updated_user", on_delete=models.DO_NOTHING)
|
last_updated_user=models.ForeignKey(CustomUser, related_name="favorite_updated_user", on_delete=models.DO_NOTHING)
|
||||||
last_updated_at=models.DateTimeField(auto_now=True)
|
last_updated_at=models.DateTimeField(auto_now=True)
|
||||||
|
|
||||||
|
|
||||||
@ -284,7 +324,7 @@ TRAVEL_CATEGORY = (
|
|||||||
|
|
||||||
class TravelList(models.Model):
|
class TravelList(models.Model):
|
||||||
travel_id= models.IntegerField(_('Travel Id'))
|
travel_id= models.IntegerField(_('Travel Id'))
|
||||||
user=models.ForeignKey(User, on_delete=models.DO_NOTHING)
|
user=models.ForeignKey(CustomUser, on_delete=models.DO_NOTHING)
|
||||||
start_date=models.DateTimeField(_('Start date') ,blank=True, null=True)
|
start_date=models.DateTimeField(_('Start date') ,blank=True, null=True)
|
||||||
finish_date=models.DateTimeField(_('End date') ,blank=True, null=True)
|
finish_date=models.DateTimeField(_('End date') ,blank=True, null=True)
|
||||||
category=models.CharField(max_length=256, choices=TRAVEL_CATEGORY)
|
category=models.CharField(max_length=256, choices=TRAVEL_CATEGORY)
|
||||||
@ -295,7 +335,7 @@ class TravelList(models.Model):
|
|||||||
eta=models.DateTimeField(blank=True, null=True)
|
eta=models.DateTimeField(blank=True, null=True)
|
||||||
parammeters=models.CharField(_('Parameters'), max_length=512 ,blank=True, null=True)
|
parammeters=models.CharField(_('Parameters'), max_length=512 ,blank=True, null=True)
|
||||||
created_at=models.DateTimeField(auto_now_add=True)
|
created_at=models.DateTimeField(auto_now_add=True)
|
||||||
last_updated_user=models.ForeignKey(User, related_name="travel_list_updated_user", on_delete=models.DO_NOTHING)
|
last_updated_user=models.ForeignKey(CustomUser, related_name="travel_list_updated_user", on_delete=models.DO_NOTHING)
|
||||||
last_updated_at=models.DateTimeField(auto_now=True)
|
last_updated_at=models.DateTimeField(auto_now=True)
|
||||||
|
|
||||||
|
|
||||||
@ -308,12 +348,29 @@ class TravelPoint(models.Model):
|
|||||||
order_number=models.IntegerField(blank=True, null=True)
|
order_number=models.IntegerField(blank=True, null=True)
|
||||||
parammeters=models.CharField(_('Parameters'), max_length=512 ,blank=True, null=True)
|
parammeters=models.CharField(_('Parameters'), max_length=512 ,blank=True, null=True)
|
||||||
created_at=models.DateTimeField(auto_now_add=True)
|
created_at=models.DateTimeField(auto_now_add=True)
|
||||||
last_updated_user=models.ForeignKey(User, related_name="travelpoint_updated_user", on_delete=models.DO_NOTHING)
|
last_updated_user=models.ForeignKey(CustomUser, related_name="travelpoint_updated_user", on_delete=models.DO_NOTHING)
|
||||||
last_updated_at=models.DateTimeField(auto_now=True)
|
last_updated_at=models.DateTimeField(auto_now=True)
|
||||||
|
|
||||||
|
|
||||||
|
class Useractions(models.Model):
|
||||||
|
user=models.ForeignKey(CustomUser, related_name="action_user", on_delete=models.CASCADE)
|
||||||
|
location=models.ForeignKey(Location, related_name="action_location", on_delete=models.CASCADE)
|
||||||
|
wanttogo=models.BooleanField(default=False)
|
||||||
|
like=models.BooleanField(default=False)
|
||||||
|
checkin=models.BooleanField(default=False)
|
||||||
|
order =models.IntegerField(default=0)
|
||||||
|
created_at=models.DateTimeField(auto_now_add=True)
|
||||||
|
last_updated_at=models.DateTimeField(auto_now=True)
|
||||||
|
|
||||||
|
|
||||||
|
class TestModel(models.Model):
|
||||||
|
testbane=models.CharField(_("test field"), max_length=355)
|
||||||
|
wanttogo=models.BooleanField(default=False)
|
||||||
|
like=models.BooleanField(default=False)
|
||||||
|
checkin=models.BooleanField(default=False)
|
||||||
|
created_at=models.DateTimeField(auto_now_add=True)
|
||||||
|
last_updated_at=models.DateTimeField(auto_now=True)
|
||||||
|
|
||||||
|
|
||||||
def getTableForModel(tbl):
|
def getTableForModel(tbl):
|
||||||
if tbl == 1:
|
if tbl == 1:
|
||||||
|
|||||||
@ -1,12 +1,15 @@
|
|||||||
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
|
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions
|
||||||
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
|
||||||
|
from .models import CustomUser
|
||||||
from django.contrib.auth import authenticate
|
from django.contrib.auth import authenticate
|
||||||
|
|
||||||
|
from .models import TestModel
|
||||||
|
|
||||||
|
|
||||||
class LocationCatSerializer(serializers.ModelSerializer):
|
class LocationCatSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
@ -54,24 +57,22 @@ class JPN_perfSerializer(serializers.ModelSerializer):
|
|||||||
|
|
||||||
class CreateUserSerializer(serializers.ModelSerializer):
|
class CreateUserSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = User
|
model = CustomUser
|
||||||
fields = ('id', 'username', 'password')
|
fields = ('email', 'password')
|
||||||
extra_kwargs = {'password': {'write_only': True}}
|
extra_kwargs = {'password': {'write_only': True}}
|
||||||
|
|
||||||
def create(self, validated_data):
|
def create(self, validated_data):
|
||||||
user = User.objects.create_user(validated_data['username'],
|
user = CustomUser.objects.create_user(validated_data['email'],validated_data['password'])
|
||||||
None,
|
|
||||||
validated_data['password'])
|
|
||||||
return user
|
return user
|
||||||
|
|
||||||
class UserSerializer(serializers.ModelSerializer):
|
class UserSerializer(serializers.ModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = User
|
model = CustomUser
|
||||||
fields = ('id', 'username')
|
fields = ('id','email',)
|
||||||
|
|
||||||
|
|
||||||
class LoginUserSerializer(serializers.Serializer):
|
class LoginUserSerializer(serializers.Serializer):
|
||||||
username = serializers.CharField()
|
email = serializers.CharField()
|
||||||
password = serializers.CharField()
|
password = serializers.CharField()
|
||||||
|
|
||||||
def validate(self, data):
|
def validate(self, data):
|
||||||
@ -79,3 +80,33 @@ class LoginUserSerializer(serializers.Serializer):
|
|||||||
if user and user.is_active:
|
if user and user.is_active:
|
||||||
return user
|
return user
|
||||||
raise serializers.ValidationError("Invalid Details.")
|
raise serializers.ValidationError("Invalid Details.")
|
||||||
|
|
||||||
|
|
||||||
|
class UseractionsSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
#user = UserSerializer(read_only=True)
|
||||||
|
#location = LocationSerializer(read_only=True)
|
||||||
|
#location = serializers.RelatedField(source='Location', read_only=True)
|
||||||
|
#location = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Useractions
|
||||||
|
fields = ('id', 'user', 'location', 'wanttogo', 'like', 'checkin', 'order',)
|
||||||
|
|
||||||
|
class UserDestinationSerializer(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
#user = UserSerializer(read_only=True)
|
||||||
|
location = LocationSerializer(read_only=True)
|
||||||
|
#location = serializers.RelatedField(source='Location', read_only=True)
|
||||||
|
#location = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Useractions
|
||||||
|
fields = ('id', 'user', 'location', 'wanttogo', 'like', 'checkin')
|
||||||
|
|
||||||
|
|
||||||
|
class TestSerialiser(serializers.ModelSerializer):
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = TestModel
|
||||||
|
fields = ('id', 'testbane', 'wanttogo', 'like', 'checkin')
|
||||||
@ -1,9 +1,11 @@
|
|||||||
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
|
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
|
||||||
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
|
||||||
|
|
||||||
|
from .views import TestActionViewSet
|
||||||
|
|
||||||
|
|
||||||
router = DefaultRouter()
|
router = DefaultRouter()
|
||||||
|
|
||||||
@ -27,4 +29,8 @@ urlpatterns += [
|
|||||||
path('login/', LoginAPI.as_view()),
|
path('login/', LoginAPI.as_view()),
|
||||||
path('user/', UserAPI.as_view()),
|
path('user/', UserAPI.as_view()),
|
||||||
path('logout/', knox_views.LogoutView.as_view(), name='knox_logout'),
|
path('logout/', knox_views.LogoutView.as_view(), name='knox_logout'),
|
||||||
|
path('useraction/', UserActionViewset, name='user_action'),
|
||||||
|
path('makeaction/', UserMakeActionViewset, name='user_action'),
|
||||||
|
path('destinations/', UserDestinations, name='user_destinations'),
|
||||||
|
path('updateorder/', UpdateOrder, name='updateorder')
|
||||||
]
|
]
|
||||||
100
rog/views.py
100
rog/views.py
@ -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
|
from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, CustomUser
|
||||||
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
|
from .serializers import LocationSerializer, Location_lineSerializer, Location_polygonSerializer, JPN_main_perfSerializer, JPN_perfSerializer, JPN_sub_perSerializer, LocationCatSerializer, CreateUserSerializer, UserSerializer, LoginUserSerializer, UseractionsSerializer, UserDestinationSerializer
|
||||||
from knox.models import AuthToken
|
from knox.models import AuthToken
|
||||||
|
|
||||||
from rest_framework import viewsets, permissions, generics
|
from rest_framework import viewsets, permissions, generics
|
||||||
@ -11,6 +11,11 @@ from rest_framework.parsers import JSONParser, MultiPartParser
|
|||||||
from .serializers import LocationSerializer
|
from .serializers import LocationSerializer
|
||||||
from django.http import JsonResponse
|
from django.http import JsonResponse
|
||||||
|
|
||||||
|
from .serializers import TestSerialiser
|
||||||
|
from .models import TestModel
|
||||||
|
from django.shortcuts import get_object_or_404
|
||||||
|
from django.db.models import F
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class LocationViewSet(viewsets.ModelViewSet):
|
class LocationViewSet(viewsets.ModelViewSet):
|
||||||
@ -134,3 +139,94 @@ class UserAPI(generics.RetrieveAPIView):
|
|||||||
|
|
||||||
def get_object(self):
|
def get_object(self):
|
||||||
return self.request.user
|
return self.request.user
|
||||||
|
|
||||||
|
|
||||||
|
def UserActionViewset(request):
|
||||||
|
user_id = request.GET.get('user_id')
|
||||||
|
location_id = request.GET.get('location_id')
|
||||||
|
location = Location.objects.get(location_id=location_id)
|
||||||
|
user = CustomUser.objects.get(id=user_id)
|
||||||
|
action = Useractions.objects.filter(location=location, user=user)
|
||||||
|
serializer = UseractionsSerializer(action, many=True)
|
||||||
|
return JsonResponse(serializer.data, safe=False)
|
||||||
|
|
||||||
|
|
||||||
|
def UserMakeActionViewset(request):
|
||||||
|
user_id = request.GET.get('user_id')
|
||||||
|
location_id = request.GET.get('location_id')
|
||||||
|
wanttogo = True if request.GET.get('wanttogo') == "true" else False
|
||||||
|
like = True if request.GET.get('like') == "true" else False
|
||||||
|
checkin = True if request.GET.get('checkin') == "true" else False
|
||||||
|
location = Location.objects.get(location_id=location_id)
|
||||||
|
user = CustomUser.objects.get(id=user_id)
|
||||||
|
#action = Useractions.objects.filter(location__id=location_id, user__id=user_id)
|
||||||
|
rec = Useractions.objects.filter(user=user, location=location)
|
||||||
|
if(rec):
|
||||||
|
obj = rec.update(wanttogo=wanttogo, like=like, checkin=checkin)
|
||||||
|
else:
|
||||||
|
obj, created = Useractions.objects.update_or_create(user=user, location=location, wanttogo=wanttogo, like=like, checkin=checkin)
|
||||||
|
serializer = UseractionsSerializer(obj, many=False)
|
||||||
|
return JsonResponse(serializer.data, safe=False)
|
||||||
|
|
||||||
|
|
||||||
|
def UserDestinations(request):
|
||||||
|
user_id = request.GET.get('user_id')
|
||||||
|
user = CustomUser.objects.get(id=user_id)
|
||||||
|
#action = Useractions.objects.filter(location__id=location_id, user__id=user_id)
|
||||||
|
rec = Useractions.objects.filter(user=user, checkin=True).order_by('order')
|
||||||
|
serializer = UserDestinationSerializer(rec, many=True)
|
||||||
|
return JsonResponse(serializer.data, safe=False)
|
||||||
|
|
||||||
|
|
||||||
|
def UpdateOrder(request):
|
||||||
|
dir = request.GET.get('dir')
|
||||||
|
user_action_id = int(request.GET.get('user_action_id'))
|
||||||
|
order = int(request.GET.get('order'))
|
||||||
|
aorder = int(request.GET.get('order'))
|
||||||
|
oorder = int(request.GET.get('order'))
|
||||||
|
if(user_action_id):
|
||||||
|
#updated = Useractions.objects.filter(order__gte=order).update(order = F('order')+1)
|
||||||
|
#res = Useractions.objects.filter(id=user_action_id).update(order=order)
|
||||||
|
index = 0
|
||||||
|
if dir == "up":
|
||||||
|
for id in Useractions.objects.all().order_by('order').values_list('id', flat=True):
|
||||||
|
print(id)
|
||||||
|
print("----",user_action_id)
|
||||||
|
if index == order :
|
||||||
|
index += 1
|
||||||
|
print("index increated .....")
|
||||||
|
if user_action_id == id:
|
||||||
|
Useractions.objects.filter(id=id).update(order=order)
|
||||||
|
print("updated .....")
|
||||||
|
continue
|
||||||
|
|
||||||
|
Useractions.objects.filter(id=id).update(order=index)
|
||||||
|
index += 1
|
||||||
|
else :
|
||||||
|
for id in Useractions.objects.all().order_by('order').values_list('id', flat=True):
|
||||||
|
print(id)
|
||||||
|
print("----",user_action_id)
|
||||||
|
if index == order :
|
||||||
|
index -= 1
|
||||||
|
print("index increated .....")
|
||||||
|
if user_action_id == id:
|
||||||
|
Useractions.objects.filter(id=id).update(order=order)
|
||||||
|
print("updated .....")
|
||||||
|
continue
|
||||||
|
|
||||||
|
Useractions.objects.filter(id=id).update(order=index)
|
||||||
|
index += 1
|
||||||
|
# for id in Useractions.objects.values_list('order', flat=True):
|
||||||
|
# aorder -= 1
|
||||||
|
# Useractions.objects.filter(order__lt=id).update(order=aorder)
|
||||||
|
# res = Useractions.objects.filter(id=user_action_id).update(order=oorder)
|
||||||
|
|
||||||
|
return JsonResponse(1, safe=False)
|
||||||
|
else:
|
||||||
|
return JsonResponse({}, safe=False)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
class TestActionViewSet(viewsets.ModelViewSet):
|
||||||
|
serializer_class = TestSerialiser
|
||||||
|
queryset = TestModel.objects.all()
|
||||||
Reference in New Issue
Block a user