From 822b0045ec37883e17f18aedfacc77cd15193264 Mon Sep 17 00:00:00 2001 From: Sander Roosendaal Date: Fri, 23 Dec 2016 08:47:49 +0100 Subject: [PATCH] added fav charts and user --- rowers/serializers.py | 16 +++++++++++++++- rowers/urls.py | 23 ++++++++++++++++++++++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/rowers/serializers.py b/rowers/serializers.py index e0c8b560..8842d18d 100644 --- a/rowers/serializers.py +++ b/rowers/serializers.py @@ -1,5 +1,5 @@ from rest_framework import serializers -from rowers.models import Workout,Rower,StrokeData +from rowers.models import Workout,Rower,StrokeData,FavoriteChart import datetime @@ -8,6 +8,7 @@ class RowerSerializer(serializers.HyperlinkedModelSerializer): class Meta: model = Rower fields = ( + 'id', 'weightcategory', 'max', 'rest', @@ -19,6 +20,19 @@ class RowerSerializer(serializers.HyperlinkedModelSerializer): 'ftp', ) +class FavoriteChartSerializer(serializers.ModelSerializer): + class Meta: + model = FavoriteChart + fields = ( + 'id', + 'xparam', + 'yparam1', + 'yparam2', + 'plottype', + 'workouttype', + 'reststrokes', + 'user' + ) class WorkoutSerializer(serializers.ModelSerializer): class Meta: diff --git a/rowers/urls.py b/rowers/urls.py index 8ca46c3e..d21b2692 100644 --- a/rowers/urls.py +++ b/rowers/urls.py @@ -2,7 +2,7 @@ from django.conf import settings from django.conf.urls import url, include from django.contrib.auth.models import User -from models import Workout,Rower,StrokeData +from models import Workout,Rower,StrokeData,FavoriteChart from rest_framework import routers, serializers, viewsets,permissions from rest_framework.urlpatterns import format_suffix_patterns @@ -19,6 +19,7 @@ from rowers.serializers import ( WorkoutSerializer, RowerSerializer, StrokeDataSerializer, + FavoriteChartSerializer, ) class WorkoutViewSet(viewsets.ModelViewSet): @@ -36,12 +37,32 @@ class WorkoutViewSet(viewsets.ModelViewSet): IsOwnerOrNot, ) +class RowerViewSet(viewsets.ModelViewSet): + model = Rower + serializer_class = RowerSerializer + #queryset = Rower.objects.all() + + def get_queryset(self): + r = Rower.objects.filter(user=self.request.user) + return r + + permission_classes = ( + IsOwnerOrNot, + ) + +class FavoriteChartViewSet(viewsets.ModelViewSet): + model = FavoriteChart + serializer_class = FavoriteChartSerializer + queryset = FavoriteChart.objects.all() + class StrokeDataViewSet(viewsets.ModelViewSet): serializer_class = StrokeDataSerializer # Routers provide an easy way of automatically determining the URL conf. router = routers.DefaultRouter() router.register(r'api/workouts',WorkoutViewSet, 'workout') +router.register(r'api/me',RowerViewSet, 'rower') +router.register(r'api/charts',FavoriteChartViewSet, 'charts') handler500 = 'views.error500_view'