This commit is contained in:
Mohamed Nouffer
2022-05-12 02:15:36 +05:30
parent 11037587df
commit c230cf4781
15 changed files with 356 additions and 358 deletions

View File

@ -1,7 +1,7 @@
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 .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 rest_framework import viewsets, permissions, generics
@ -11,6 +11,11 @@ from rest_framework.parsers import JSONParser, MultiPartParser
from .serializers import LocationSerializer
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):
@ -133,4 +138,95 @@ class UserAPI(generics.RetrieveAPIView):
serializer_class = UserSerializer
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()