89 lines
3.4 KiB
Python
89 lines
3.4 KiB
Python
from rest_framework.views import APIView
|
|
from rest_framework.response import Response
|
|
#from rest_framework.permissions import IsAuthenticated # <-- Here
|
|
import json
|
|
from standards.models import Standards
|
|
from rest_framework import serializers
|
|
from .serializers import StandardsSerializer, ChatRoomSerializer, ChatRoomFullSerializer
|
|
from rest_framework.decorators import api_view, permission_classes
|
|
from rest_framework import status
|
|
from rest_framework.authentication import SessionAuthentication, BasicAuthentication, TokenAuthentication
|
|
from rest_framework.decorators import authentication_classes
|
|
from chat.models import ChatRoom, ChatMessage
|
|
from django.http import HttpResponseRedirect,HttpResponse, JsonResponse
|
|
|
|
from timemanagement.models import Absence
|
|
|
|
|
|
class GetUserId(APIView):
|
|
#permission_classes = (IsAuthenticated,) # <-- And here
|
|
|
|
def post(self, request):
|
|
return Response({"userid" : self.request.user.pk})
|
|
|
|
|
|
@api_view(['POST', ])
|
|
#@permission_classes((IsAuthenticated,))
|
|
def getStandardList(request):
|
|
standards = Standards.objects.filter(agency=request.user.profile.agency)
|
|
ser = StandardsSerializer(standards, many=True)
|
|
return Response(ser.data, status=status.HTTP_200_OK)
|
|
|
|
@api_view(['POST', ])
|
|
#@permission_classes((IsAuthenticated,))
|
|
def getSingleStandard(request, pk):
|
|
standard = Standards.objects.get(pk=int(pk))
|
|
ser = StandardsSerializer(standard, many=False)
|
|
return Response(ser.data, status=status.HTTP_200_OK)
|
|
|
|
@api_view(['POST', ])
|
|
#@permission_classes((IsAuthenticated,))
|
|
def logoutByToken(request):
|
|
print(request)
|
|
request.user.auth_token.delete()
|
|
return Response(status=status.HTTP_200_OK)
|
|
|
|
@api_view(['POST', ])
|
|
#@permission_classes((IsAuthenticated,))
|
|
def getchatrooms(request):
|
|
chatrooms = ChatRoom.objects.filter(creator=request.user) | ChatRoom.objects.filter(chatmember_single=request.user)
|
|
chatrooms_ser = ChatRoomSerializer(chatrooms, many=True)
|
|
return Response(chatrooms_ser.data, status=status.HTTP_200_OK)
|
|
|
|
|
|
@api_view(['POST', ])
|
|
#@permission_classes((IsAuthenticated,))
|
|
def getsinglechat(request, pk):
|
|
chatroom = ChatRoom.objects.get(pk=pk)
|
|
if chatroom.creator == request.user or chatroom.chatmember_single == request.user or (request.user in chatroom.chatmembers.all()):
|
|
chatroom_ser = ChatRoomFullSerializer(chatroom, many=False)
|
|
return Response(chatroom_ser.data, status=status.HTTP_200_OK)
|
|
else:
|
|
return Response(status=status.HTTP_403_FORBIDDEN)
|
|
|
|
|
|
@api_view(['POST', ])
|
|
#@permission_classes((IsAuthenticated,))
|
|
def savenewchatmessage(request):
|
|
room = ChatRoom.objects.get(pk=request.POST["room"])
|
|
if(request.user == room.creator or request.user == room.chatmember_single):
|
|
newmessage = ChatMessage(room=room, author=request.user, content=request.POST["message"])
|
|
newmessage.save()
|
|
room.messages.add(newmessage)
|
|
room.save()
|
|
return Response(status=status.HTTP_200_OK)
|
|
else:
|
|
return Response(status=status.HTTP_403_FORBIDDEN)
|
|
|
|
# IMPORTED MODELS FOR MIGRATION
|
|
from users.models import Agency
|
|
from django.contrib.auth.models import User
|
|
|
|
@api_view(['GET', ])
|
|
def migrateAgencyUsers(request, pk):
|
|
datapackage = {}
|
|
Ag = Agency.objects.get(pk=pk)
|
|
for user in User.objects.filter(profile__agency=Ag):
|
|
if(len(user.email) > 0 and len(user.first_name) > 0 and len(user.last_name) > 0):
|
|
datapackage.update({str(user.pk) : {"userid" : user.email, "displayname" : user.first_name + " " + user.last_name}})
|
|
return JsonResponse(datapackage) |