update for user group
This commit is contained in:
@ -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, GifuAreas, UserTracks, ShapeFileLocations, templocation, UserUpload, UserUploadUser
|
||||
from .models import RogUser, Location, SystemSettings, JoinedEvent, Favorite, TravelList, TravelPoint, ShapeLayers, Event, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, CustomUser, GifuAreas, UserTracks, ShapeFileLocations, templocation, UserUpload, UserUploadUser, EventUser
|
||||
from django.contrib.auth.admin import UserAdmin
|
||||
|
||||
class RogAdmin(LeafletAdminListMixin, LeafletGeoAdminMixin, admin.ModelAdmin):
|
||||
@ -162,6 +162,7 @@ admin.site.register(GifuAreas, LeafletGeoAdmin)
|
||||
admin.site.register(JpnSubPerf, LeafletGeoAdmin)
|
||||
admin.site.register(ShapeLayers, admin.ModelAdmin)
|
||||
admin.site.register(UserUpload, admin.ModelAdmin)
|
||||
admin.site.register(EventUser, admin.ModelAdmin)
|
||||
#admin.site.register(UserUploadUser, admin.ModelAdmin)
|
||||
#admin.site.register(ShapeFileLocations, admin.ModelAdmin)
|
||||
|
||||
|
||||
24
rog/migrations/0029_auto_20220831_1317.py
Normal file
24
rog/migrations/0029_auto_20220831_1317.py
Normal file
@ -0,0 +1,24 @@
|
||||
# Generated by Django 3.2.9 on 2022-08-31 04:17
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('rog', '0028_alter_customuser_group'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='customuser',
|
||||
name='area',
|
||||
field=models.CharField(default='city', max_length=255),
|
||||
preserve_default=False,
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='customuser',
|
||||
name='cities',
|
||||
field=models.CharField(blank=True, max_length=255, null=True),
|
||||
),
|
||||
]
|
||||
21
rog/migrations/0030_auto_20220831_1440.py
Normal file
21
rog/migrations/0030_auto_20220831_1440.py
Normal file
@ -0,0 +1,21 @@
|
||||
# Generated by Django 3.2.9 on 2022-08-31 05:40
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('rog', '0029_auto_20220831_1317'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RemoveField(
|
||||
model_name='customuser',
|
||||
name='area',
|
||||
),
|
||||
migrations.RemoveField(
|
||||
model_name='customuser',
|
||||
name='cities',
|
||||
),
|
||||
]
|
||||
28
rog/migrations/0031_auto_20220831_2244.py
Normal file
28
rog/migrations/0031_auto_20220831_2244.py
Normal file
@ -0,0 +1,28 @@
|
||||
# Generated by Django 3.2.9 on 2022-08-31 13:44
|
||||
|
||||
from django.conf import settings
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('rog', '0030_auto_20220831_1440'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='EventUser',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='event', to='rog.event')),
|
||||
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='user', to=settings.AUTH_USER_MODEL)),
|
||||
],
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='event',
|
||||
name='user',
|
||||
field=models.ManyToManyField(related_name='even', through='rog.EventUser', to=settings.AUTH_USER_MODEL),
|
||||
),
|
||||
]
|
||||
@ -413,8 +413,8 @@ EVENT_STATUS = (
|
||||
)
|
||||
|
||||
|
||||
|
||||
class Event(models.Model):
|
||||
user=models.ManyToManyField(CustomUser, through='EventUser', related_name='even')
|
||||
tagname=models.CharField(_('Parameters'), max_length=512, blank=True, null=True)
|
||||
status=models.CharField(max_length=256, choices=EVENT_STATUS)
|
||||
price=models.IntegerField(_('Paid Amount'), default=0)
|
||||
@ -428,6 +428,11 @@ class Event(models.Model):
|
||||
last_updated_at=models.DateTimeField(auto_now=True)
|
||||
|
||||
|
||||
class EventUser(models.Model):
|
||||
user=models.ForeignKey(CustomUser,on_delete=models.CASCADE, related_name='user')
|
||||
event=models.ForeignKey(Event, on_delete=models.CASCADE, related_name='event')
|
||||
|
||||
|
||||
ROG_STATUS = (
|
||||
("REGISTERED", _("Registered")),
|
||||
("ACCEPTED", _("accepted")),
|
||||
|
||||
@ -74,7 +74,7 @@ class CreateUserSerializer(serializers.ModelSerializer):
|
||||
class UserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = CustomUser
|
||||
fields = ('id','email',)
|
||||
fields = ('id','email', 'group')
|
||||
|
||||
|
||||
class RogUserSerializer(serializers.ModelSerializer):
|
||||
|
||||
80
rog/views.py
80
rog/views.py
@ -55,18 +55,31 @@ def LocationsInPerf(request):
|
||||
perfecture = request.GET.get('perf')
|
||||
is_rog = request.GET.get('rog')
|
||||
cat = request.GET.get('cat')
|
||||
grp = request.GET.get('grp')
|
||||
perf_geom = JpnAdminMainPerf.objects.get(id=perfecture)
|
||||
|
||||
if(cat):
|
||||
if is_rog:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp__gt=0)
|
||||
if grp:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp__gt=0, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp__gt=0)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp=0)
|
||||
if grp:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp=0, cp__gt=0, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp=0)
|
||||
else:
|
||||
if is_rog:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, cp__gt=0)
|
||||
if grp:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, cp__gt=0, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, cp__gt=0)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, cp=0)
|
||||
if grp:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, cp=0, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, cp=0)
|
||||
|
||||
serializer = LocationSerializer(locs, many=True)
|
||||
return JsonResponse(serializer.data, safe=False)
|
||||
@ -75,16 +88,26 @@ def LocationsInSubPerf(request):
|
||||
subperfecture = request.GET.get('subperf')
|
||||
is_rog = request.GET.get('rog')
|
||||
cat = request.GET.get('cat')
|
||||
grp = request.GET.get('grp')
|
||||
perf_geom = JpnSubPerf.objects.get(id=subperfecture)
|
||||
|
||||
if(cat):
|
||||
if is_rog:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp__gt=0)
|
||||
if grp:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp__gt=0, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp__gt=0)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp=0)
|
||||
if grp:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp=0, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, category=cat, cp=0)
|
||||
else:
|
||||
if is_rog:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, cp__gt=0)
|
||||
if grp:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, cp__gt=0, cp=0, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, cp__gt=0)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=perf_geom.geom, cp=0)
|
||||
serializer = LocationSerializer(locs, many=True)
|
||||
@ -101,6 +124,7 @@ def LocationInBound(request):
|
||||
lat4 = float(request.GET.get('la4'))
|
||||
lon4 = float(request.GET.get('ln4'))
|
||||
cat = request.GET.get('cat')
|
||||
grp = request.GET.get('grp')
|
||||
|
||||
is_rog = request.GET.get('rog')
|
||||
|
||||
@ -108,14 +132,26 @@ def LocationInBound(request):
|
||||
pl = geos.Polygon(((lon1, lat1), (lon2, lat2), (lon3, lat3), (lon4, lat4), (lon1, lat1)), srid=4326)
|
||||
if(cat):
|
||||
if is_rog:
|
||||
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, cp__gt=0)
|
||||
if grp:
|
||||
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, cp__gt=0, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, cp__gt=0)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, cp=0)
|
||||
if grp:
|
||||
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, cp=0, cp__gt=0, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=pl, category=cat, event_name__isnull=True, cp=0)
|
||||
else:
|
||||
if is_rog:
|
||||
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True, cp__gt=0)
|
||||
if grp:
|
||||
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True, cp__gt=0, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True, cp__gt=0)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True, cp=0)
|
||||
if grp:
|
||||
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True, cp=0, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(geom__within=pl, event_name__isnull=True, cp=0)
|
||||
if len(locs) > 50:
|
||||
return JsonResponse({"too_many_points": True}, safe=False, status=500)
|
||||
else:
|
||||
@ -346,16 +382,30 @@ def CustomAreaLocations(request):
|
||||
cat = request.GET.get('cat')
|
||||
name = request.GET.get('name')
|
||||
is_rog = request.GET.get('rog')
|
||||
grp = request.GET.get('grp')
|
||||
|
||||
if(cat != None):
|
||||
if is_rog:
|
||||
locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name, cp__gt=0)
|
||||
if grp:
|
||||
locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name, cp__gt=0, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name, cp__gt=0)
|
||||
else:
|
||||
locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name, cp=0)
|
||||
if grp:
|
||||
locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name, cp=0, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name, cp=0)
|
||||
else:
|
||||
if is_rog:
|
||||
locs = Location.objects.filter(event_name__isnull=False, event_name=name, cp__gt=0)
|
||||
if grp:
|
||||
locs = Location.objects.filter(event_name__isnull=False, event_name=name, cp__gt=0, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(event_name__isnull=False, event_name=name, cp__gt=0)
|
||||
else:
|
||||
locs = Location.objects.filter(event_name__isnull=False, event_name=name, cp=0)
|
||||
if grp:
|
||||
locs = Location.objects.filter(event_name__isnull=False, event_name=name, cp=0, group__contains=grp)
|
||||
else:
|
||||
locs = Location.objects.filter(event_name__isnull=False, event_name=name, cp=0)
|
||||
|
||||
serializer = LocationSerializer(locs, many=True)
|
||||
return JsonResponse(serializer.data, safe=False)
|
||||
|
||||
Reference in New Issue
Block a user