Проверка смены пользователя и последующее отображение данных в Django
Я разработал два API "ShiftstartAPI" и "tickettableAPI", когда пользователь начинает смену, только он может просматривать таблицы в Django. Я попробовал следующий подход, но он не работает так, как ожидалось, он скрывает таблицу даже после начала смены
views.py:
API запуска сдвига
# startshift
@api_view(['POST', 'GET'])
def UserStartShift(request):
if request.method == 'GET':
users = tblUserShiftDetails.objects.all()
serializer = UserShiftStartSerializers(users, many=True)
return Response(serializer.data)
elif request.method == 'POST':
serializer = UserShiftStartSerializers(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_200_OK)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
после того, как пользователь нажимает на shift start, таблицы билетов должны заполниться. Здесь я попробовал проверить запрашиваемого пользователя в "shiftstartAPI"
# tickets table
@api_view(['GET', 'POST'])
def ClaimReferenceView(request, userid):
try:
userID = Tblclaimreference.objects.filter(userid=userid)
except Tblclaimreference.DoesNotExist:
return Response(status=status.HTTP_404_NOT_FOUND)
if request.method == 'GET':
if request.user in UserStartShift():
cursor = connection.cursor()
cursor.execute('EXEC [dbo].[sp_GetClaims] @UserId= {}'.format(userid,))
result_set = cursor.fetchall()
print(type(result_set))
response_data = []
for row in result_set:
response_data.append(
{
"Number": row[0],
"Opened": row[1],
"Contacttype": row[2],
"Category1": row[3],
"State": row[4],
"Assignmentgroup": row[5],
"Country_Location": row[6],
"Openedfor": row[7],
"Employeenumber": row[8],
"Shortdescription": row[9],
"AllocatedDate": row[10]
}
)
return Response(response_data, status=status.HTTP_200_OK)
elif request.method == 'POST':
serializer = ClaimReferenceSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)