diff --git a/rowers/ownapistuff.py b/rowers/ownapistuff.py index 528013b3..4a1754bf 100644 --- a/rowers/ownapistuff.py +++ b/rowers/ownapistuff.py @@ -31,8 +31,8 @@ from rowers.models import Rower,Workout from rowsandall_app.settings import C2_CLIENT_ID, C2_REDIRECT_URI, C2_CLIENT_SECRET, STRAVA_CLIENT_ID, STRAVA_REDIRECT_URI, STRAVA_CLIENT_SECRET, SPORTTRACKS_CLIENT_SECRET, SPORTTRACKS_CLIENT_ID, SPORTTRACKS_REDIRECT_URI -TEST_CLIENT_ID = "LTqH0nUe8BySMEJgohJBoo1q4PV16xQJ8uF0XQPU" -TEST_CLIENT_SECRET = "HI4bM21rh7pTEXOwCAHLNe3SlLMgbksuzCOARSBbolbQyquZ5quNF8i9PiIaGumbBG4OHCJiQqZJh7Nez6aRiZFgO8POBRVkwCg1fLNk1oY5EJHtLiNrgWY0nbWWDedt" +TEST_CLIENT_ID = "1" +TEST_CLIENT_SECRET = "aapnootmies" TEST_REDIRECT_URI = "http://localhost:8000/rowers/test_callback" @@ -98,7 +98,8 @@ def get_token(code): response = requests.post(url, data=json.dumps(post_data), headers=headers) - print response + + print response.text token_json = response.json() thetoken = token_json['access_token'] expires_in = token_json['expires_in'] diff --git a/rowers/serializers.py b/rowers/serializers.py index 9f7f4620..b0890f54 100644 --- a/rowers/serializers.py +++ b/rowers/serializers.py @@ -1,6 +1,8 @@ from rest_framework import serializers from rowers.models import Workout,Rower +import datetime + # Serializers define the API representation. class RowerSerializer(serializers.HyperlinkedModelSerializer): class Meta: @@ -18,7 +20,7 @@ class RowerSerializer(serializers.HyperlinkedModelSerializer): ) -class WorkoutSerializer(serializers.HyperlinkedModelSerializer): +class WorkoutSerializer(serializers.ModelSerializer): class Meta: model = Workout fields = ( @@ -26,21 +28,69 @@ class WorkoutSerializer(serializers.HyperlinkedModelSerializer): 'name', 'date', 'workouttype', - 'boattype', 'starttime', - 'startdatetime', 'distance', 'duration', - 'weightcategory', - 'weightvalue', 'averagehr', 'maxhr', 'notes', 'summary', - 'csvfilename', ) -class StrokeDataSerielizer(serializers.Serializer): + def create(self, validated_data): + r = Rower.objects.get(user=self.context['request'].user) + d = validated_data['date'] + t = validated_data['starttime'] + rowdatetime = datetime.datetime(d.year, + d.month, + d.day, + t.hour, + t.minute, + t.second) + w = Workout(user=r, + name=validated_data['name'], + date=validated_data['date'], + workouttype=validated_data['workouttype'], + duration=validated_data['duration'], + distance=validated_data['distance'], + weightcategory=r.weightcategory, + starttime=validated_data['starttime'], + csvfilename='', + notes=validated_data['notes'], + uploadedtoc2=0, + summary=validated_data['summary'], + averagehr=validated_data['averagehr'], + maxhr=validated_data['maxhr'], + startdatetime=rowdatetime) + w.save() + return w + + def update(self, instance, validated_data): + d = validated_data['date'] + t = validated_data['starttime'] + rowdatetime = datetime.datetime(d.year, + d.month, + d.day, + t.hour, + t.minute, + t.second) + + + instance.name=validated_data['name'] + instance.date=validated_data['date'] + instance.workouttype=validated_data['workouttype'] + instance.duration=validated_data['duration'] + instance.distance=validated_data['distance'] + instance.starttime=validated_data['starttime'] + instance.notes=validated_data['notes'] + instance.summary=validated_data['summary'] + instance.averagehr=validated_data['averagehr'] + instance.maxhr=validated_data['maxhr'] + instance.startdatetime=rowdatetime + instance.save() + return instance + +class StrokeDataSerializer(serializers.Serializer): workoutid = serializers.IntegerField strokedata = serializers.JSONField diff --git a/rowers/views.py b/rowers/views.py index 831b4098..2450589d 100644 --- a/rowers/views.py +++ b/rowers/views.py @@ -4490,7 +4490,9 @@ def trydf(df,aantal,column): s = np.zeros(aantal) return s - + +from django.views.decorators.csrf import csrf_exempt +@csrf_exempt @login_required() def strokedatajson(request,id): try: