diff --git a/rog/migrations/0006_location_paid.py b/rog/migrations/0006_location_paid.py new file mode 100644 index 0000000..b215816 --- /dev/null +++ b/rog/migrations/0006_location_paid.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.9 on 2022-06-07 13:00 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('rog', '0005_auto_20220606_1523'), + ] + + operations = [ + migrations.AddField( + model_name='location', + name='paid', + field=models.BooleanField(default=False, verbose_name='Is Paid'), + ), + ] diff --git a/rog/migrations/0007_auto_20220607_2207.py b/rog/migrations/0007_auto_20220607_2207.py new file mode 100644 index 0000000..49d00ac --- /dev/null +++ b/rog/migrations/0007_auto_20220607_2207.py @@ -0,0 +1,22 @@ +# Generated by Django 3.2.9 on 2022-06-07 13:07 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('rog', '0006_location_paid'), + ] + + operations = [ + migrations.RemoveField( + model_name='location', + name='paid', + ), + migrations.AddField( + model_name='roguser', + name='paid', + field=models.BooleanField(default=False, verbose_name='Is Paid'), + ), + ] diff --git a/rog/migrations/0008_alter_roguser_parammeters.py b/rog/migrations/0008_alter_roguser_parammeters.py new file mode 100644 index 0000000..215ad65 --- /dev/null +++ b/rog/migrations/0008_alter_roguser_parammeters.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.9 on 2022-06-07 13:09 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('rog', '0007_auto_20220607_2207'), + ] + + operations = [ + migrations.AlterField( + model_name='roguser', + name='parammeters', + field=models.CharField(blank=True, max_length=512, null=True, verbose_name='Parameters'), + ), + ] diff --git a/rog/migrations/0009_remove_roguser_email.py b/rog/migrations/0009_remove_roguser_email.py new file mode 100644 index 0000000..9f46c5b --- /dev/null +++ b/rog/migrations/0009_remove_roguser_email.py @@ -0,0 +1,17 @@ +# Generated by Django 3.2.9 on 2022-06-07 14:24 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('rog', '0008_alter_roguser_parammeters'), + ] + + operations = [ + migrations.RemoveField( + model_name='roguser', + name='email', + ), + ] diff --git a/rog/models.py b/rog/models.py index 275a497..62c745b 100644 --- a/rog/models.py +++ b/rog/models.py @@ -147,7 +147,6 @@ class CustomUser(AbstractBaseUser, PermissionsMixin): class RogUser(models.Model): user=models.OneToOneField(CustomUser, on_delete=models.CASCADE) - email=models.EmailField(_('Email')) phone=models.CharField(_('Phone Number'), max_length=55) first_name=models.CharField(_('First Name'), max_length=255) middle_name=models.CharField(_('Middle Name'), max_length=255, blank=True, null=True) @@ -161,7 +160,8 @@ class RogUser(models.Model): family_structure =models.IntegerField(_('Family Structure'), blank=True, null=True) introducer = models.ForeignKey(CustomUser, related_name='introduced_uesr', on_delete=models.DO_NOTHING) level= models.IntegerField(_('Level'), blank=True, null=True, default=0) - parammeters=models.CharField(_('Parameters'), max_length=512) + paid=models.BooleanField(_("Is Paid"),default=False) + parammeters=models.CharField(_('Parameters'), max_length=512, blank=True, null=True) created_at=models.DateTimeField(auto_now_add=True) last_updated_user=models.ForeignKey(CustomUser, related_name="roguser_updated_user", on_delete=models.DO_NOTHING) last_updated_at=models.DateTimeField(auto_now=True) @@ -385,6 +385,7 @@ class Useractions(models.Model): wanttogo=models.BooleanField(default=False) like=models.BooleanField(default=False) checkin=models.BooleanField(default=False) + # checkinimage=models.FileField(upload_to='%y%m%d', blank=True, null=True) order =models.IntegerField(default=0) created_at=models.DateTimeField(auto_now_add=True) last_updated_at=models.DateTimeField(auto_now=True) diff --git a/rog/serializers.py b/rog/serializers.py index 8e3c73b..62bd426 100644 --- a/rog/serializers.py +++ b/rog/serializers.py @@ -1,7 +1,7 @@ from rest_framework import serializers from rest_framework_gis.serializers import GeoFeatureModelSerializer from sqlalchemy.sql.functions import mode -from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, GifuAreas +from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, GifuAreas, RogUser from drf_extra_fields.fields import Base64ImageField #from django.contrib.auth.models import User @@ -77,6 +77,12 @@ class UserSerializer(serializers.ModelSerializer): fields = ('id','email',) +class RogUserSerializer(serializers.ModelSerializer): + class Meta: + model = RogUser + fields = ('id','user', 'paid',) + + class LoginUserSerializer(serializers.Serializer): email = serializers.CharField() password = serializers.CharField() @@ -110,6 +116,12 @@ class UserDestinationSerializer(serializers.ModelSerializer): model = Useractions fields = ('id', 'user', 'location', 'wanttogo', 'like', 'checkin') +class LocationEventNameSerializer(serializers.ModelSerializer): + + class Meta: + model = Location + fields = ('id', 'event_name',) + class TestSerialiser(serializers.ModelSerializer): diff --git a/rog/urls.py b/rog/urls.py index bd1a297..7ec2bfa 100644 --- a/rog/urls.py +++ b/rog/urls.py @@ -1,6 +1,6 @@ from rest_framework import urlpatterns from rest_framework.routers import DefaultRouter -from .views import LocationViewSet, Location_lineViewSet, Location_polygonViewSet, Jpn_Main_PerfViewSet, Jpn_PerfViewSet, LocationsInPerf, SubInPerf, ExtentForSubPerf, SubPerfInMainPerf, ExtentForMainPerf, LocationsInSubPerf, CatView, RegistrationAPI, LoginAPI, UserAPI, UserActionViewset, UserMakeActionViewset, UserDestinations, UpdateOrder, LocationInBound, DeleteDestination, CustomAreaLocations, GetAllGifuAreas +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 django.urls import path, include from knox import views as knox_views @@ -23,7 +23,7 @@ urlpatterns += [ path('insubperf', LocationsInSubPerf, name='location_subperf'), path('inbound', LocationInBound, name='location_bound'), path('subperfinmain/', SubPerfInMainPerf, name="sub_perf"), - path('allgifuareas/', GetAllGifuAreas, name="custom_area"), + path('allgifuareas/', GetAllGifuAreas, name="gifu_area"), path('perfext/', ExtentForSubPerf, name="sub_perf_ext"), path('mainperfext/', ExtentForMainPerf, name="main_perf_ext"), path('cats/', CatView, name='cats'), @@ -36,5 +36,7 @@ urlpatterns += [ path('destinations/', UserDestinations, name='user_destinations'), path('updateorder/', UpdateOrder, name='updateorder'), path('delete_destination/', DeleteDestination, name='delete_detination'), - path('custom_area/', CustomAreaLocations, name='custom_area_location') + path('customarea/', CustomAreaLocations, name='custom_area_location'), + path('customareanames/', CustomAreaNames, name='custom_area_name'), + path('userdetials/', userDetials, name='user_detials') ] \ No newline at end of file diff --git a/rog/views.py b/rog/views.py index a8f2aa7..27ba712 100644 --- a/rog/views.py +++ b/rog/views.py @@ -1,7 +1,7 @@ from django.core.serializers import serialize -from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, GifuAreas +from .models import Location, Location_line, Location_polygon, JpnAdminMainPerf, JpnAdminPerf, JpnSubPerf, Useractions, GifuAreas, RogUser, CustomUser 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 +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 knox.models import AuthToken from rest_framework import viewsets, permissions, generics @@ -37,7 +37,7 @@ class Location_polygonViewSet(viewsets.ModelViewSet): class Jpn_Main_PerfViewSet(viewsets.ModelViewSet): - queryset=JpnAdminMainPerf.objects.all() + queryset=JpnAdminMainPerf.objects.filter(id=9) serializer_class=JPN_main_perfSerializer filter_fields = ["adm1_ja"] @@ -201,6 +201,15 @@ class UserAPI(generics.RetrieveAPIView): return self.request.user +def userDetials(request): + user_id = request.GET.get('user_id') + user = CustomUser.objects.get(id=user_id) + rogUser = RogUser.objects.filter(user=user) + serializer = RogUserSerializer(rogUser, many=True) + return JsonResponse(serializer.data, safe=False) + + + def UserActionViewset(request): user_id = request.GET.get('user_id') location_id = request.GET.get('location_id') @@ -233,7 +242,7 @@ 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') + rec = Useractions.objects.filter(user=user, wanttogo=True).order_by('order') serializer = UserDestinationSerializer(rec, many=True) return JsonResponse(serializer.data, safe=False) @@ -300,17 +309,23 @@ def DeleteDestination(request): def CustomAreaLocations(request): cat = request.GET.get('cat') + name = request.GET.get('name') if(cat != None): print("----res from cat") - locs = Location.objects.filter(event_name__isnull=False, category=cat) + locs = Location.objects.filter(event_name__isnull=False, category=cat, event_name=name) else: - locs = Location.objects.filter(event_name__isnull=False) + locs = Location.objects.filter(event_name__isnull=False, event_name=name) serializer = LocationSerializer(locs, many=True) return JsonResponse(serializer.data, safe=False) - +def CustomAreaNames(request): + locs = Location.objects.filter(event_name__isnull=False).values('event_name').distinct() + + serializer = LocationEventNameSerializer(locs, many=True) + return JsonResponse(serializer.data, safe=False) + class TestActionViewSet(viewsets.ModelViewSet): serializer_class = TestSerialiser