From 92f57d09535c7bcc3625f38921ae23edc0b879a2 Mon Sep 17 00:00:00 2001 From: michigg Date: Mon, 13 Nov 2017 02:52:17 +0100 Subject: [PATCH] started food api --- ofu_app/api/views/food_views.py | 38 ++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/ofu_app/api/views/food_views.py b/ofu_app/api/views/food_views.py index 8d8313f..d3ad758 100644 --- a/ofu_app/api/views/food_views.py +++ b/ofu_app/api/views/food_views.py @@ -1,14 +1,50 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals +from datetime import datetime +from datetime import timedelta from api.serializers.food_serializers import MenuSerializer from apps.food.models import Menu from rest_framework import viewsets +from django.http import JsonResponse class FoodViewSet(viewsets.ModelViewSet): """ API endpoint that allows users to be viewed or edited. """ - queryset = Menu.objects.all() + # 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: " + date) + print(str(queryset)) + + return queryset