This repository has been archived on 2019-10-13. You can view files and clone it, but cannot push or open issues or pull requests.
2017-11-30 12:37:14 +01:00

77 lines
2.7 KiB
Python

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from datetime import datetime
from datetime import timedelta
from apps.food.api.serializers import MenuSerializer, HappyHourSerializer
from apps.food.models import Menu, HappyHour
from rest_framework import viewsets
from rest_framework.decorators import api_view, permission_classes
from rest_framework.permissions import AllowAny
# @api_view(['GET'])
@permission_classes((AllowAny,))
class FoodViewSet(viewsets.ModelViewSet, ):
"""
API endpoint that allows users to be viewed or edited.
"""
# queryset = Menu.objects.all()
serializer_class = MenuSerializer
def get_queryset(self):
queryset = Menu.objects.all()
location = self.request.query_params.get('location')
date = self.request.query_params.get('date')
if location:
locations = ["erba", "feldkirchenstrasse", "austrasse", "markusplatz"]
if locations.__contains__(location):
if location == locations[0]:
queryset = queryset.filter(location__contains="Erba")
elif location == locations[1]:
queryset = queryset.filter(location__contains="Feldkirchen")
elif location == locations[2]:
queryset = queryset.filter(location__contains="Austraße")
elif location == locations[3]:
queryset = queryset.filter(location__contains="Markusplatz")
if date:
if date == "week":
today = datetime.now()
weekday = today.weekday()
monday = today - timedelta(weekday)
sunday = today + (timedelta(6 - weekday))
print("Monday: " + str(monday))
print("Sunday: " + str(sunday))
queryset = queryset.filter(date__gte=monday, date__lte=sunday)
else:
queryset = queryset.filter(date=datetime.strptime(date, "%Y-%m-%d"))
print("DATE: " + str(date))
print(str(queryset))
return queryset
# @api_view(['GET'])
@permission_classes((AllowAny,))
class HappyHourViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows users to be viewed or edited.
"""
queryset = HappyHour.objects.all()
serializer_class = HappyHourSerializer
def get_queryset(self):
queryset = HappyHour.objects.all()
type = self.request.query_params.get('type')
# if type == "food":
# queryset = HappyHour.filter(location__contains="Austraße")
# elif type == "drinks":
# queryset = HappyHour.filter(location__contains="Austraße")
return queryset