WIP
This commit is contained in:
BIN
db.sqlite3
BIN
db.sqlite3
Binary file not shown.
@@ -75,7 +75,25 @@ class POSTCompleteWorkoutSerializer(serializers.ModelSerializer):
|
|||||||
exclude = ['registered_user']
|
exclude = ['registered_user']
|
||||||
|
|
||||||
class PlannedWorkoutSerializer(serializers.ModelSerializer):
|
class PlannedWorkoutSerializer(serializers.ModelSerializer):
|
||||||
|
workout = POSTCompleteWorkoutSerializer(many=False, read_only=True)
|
||||||
class Meta:
|
class Meta:
|
||||||
model = PlannedWorkout
|
model = PlannedWorkout
|
||||||
exclude = ['registered_user']
|
exclude = ['registered_user']
|
||||||
depth = 1
|
depth = 1
|
||||||
|
|
||||||
|
class POSTPlannedWorkoutSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = PlannedWorkout
|
||||||
|
exclude = ['registered_user']
|
||||||
|
|
||||||
|
def create(self, validated_data):
|
||||||
|
print(validated_data)
|
||||||
|
registered_user_id = self.context.get("registered_user")
|
||||||
|
registered_user = RegisteredUser.objects.get(id=registered_user_id)
|
||||||
|
planned_workout = PlannedWorkout.objects.create(
|
||||||
|
registered_user=registered_user,
|
||||||
|
workout=validated_data['workout'],
|
||||||
|
on_date=validated_data['on_date']
|
||||||
|
)
|
||||||
|
planned_workout.save()
|
||||||
|
return planned_workout
|
||||||
@@ -9,4 +9,5 @@ urlpatterns = [
|
|||||||
path('completed/', views.workouts_completed_by_logged_in_user, name='user completed workouts'),
|
path('completed/', views.workouts_completed_by_logged_in_user, name='user completed workouts'),
|
||||||
path('create/', views.add_workout, name='create new workout'),
|
path('create/', views.add_workout, name='create new workout'),
|
||||||
path('planned_workouts/', views.workouts_planned_by_logged_in_user, name='planned workout for user'),
|
path('planned_workouts/', views.workouts_planned_by_logged_in_user, name='planned workout for user'),
|
||||||
|
path('plan_workout/', views.plan_workout, name='plan workout'),
|
||||||
]
|
]
|
||||||
@@ -12,6 +12,7 @@ from rest_framework.authentication import TokenAuthentication
|
|||||||
from rest_framework.permissions import IsAuthenticated
|
from rest_framework.permissions import IsAuthenticated
|
||||||
from rest_framework.decorators import authentication_classes
|
from rest_framework.decorators import authentication_classes
|
||||||
from rest_framework.decorators import permission_classes
|
from rest_framework.decorators import permission_classes
|
||||||
|
from django.shortcuts import get_object_or_404
|
||||||
import json
|
import json
|
||||||
|
|
||||||
|
|
||||||
@@ -59,7 +60,6 @@ def add_workout(request):
|
|||||||
|
|
||||||
# exercise_data = dict(request.POST)["exercise_data"]
|
# exercise_data = dict(request.POST)["exercise_data"]
|
||||||
exercise_data = request.data["exercise_data"]
|
exercise_data = request.data["exercise_data"]
|
||||||
print(exercise_data)
|
|
||||||
|
|
||||||
if exercise_data is None:
|
if exercise_data is None:
|
||||||
return Response({"exercise_data": [ "missing" ] }, status=status.HTTP_400_BAD_REQUEST)
|
return Response({"exercise_data": [ "missing" ] }, status=status.HTTP_400_BAD_REQUEST)
|
||||||
@@ -99,4 +99,17 @@ def workouts_planned_by_logged_in_user(request):
|
|||||||
registered_user = RegisteredUser.objects.get(user=request.user)
|
registered_user = RegisteredUser.objects.get(user=request.user)
|
||||||
workouts = PlannedWorkout.objects.filter(registered_user=registered_user)
|
workouts = PlannedWorkout.objects.filter(registered_user=registered_user)
|
||||||
serializer = PlannedWorkoutSerializer(workouts, many=True)
|
serializer = PlannedWorkoutSerializer(workouts, many=True)
|
||||||
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
return Response(serializer.data, status=status.HTTP_200_OK)
|
||||||
|
|
||||||
|
@api_view(['POST'])
|
||||||
|
@authentication_classes([TokenAuthentication])
|
||||||
|
@permission_classes([IsAuthenticated])
|
||||||
|
def plan_workout(request):
|
||||||
|
registered_user = RegisteredUser.objects.get(user=request.user)
|
||||||
|
serializer = POSTPlannedWorkoutSerializer(data=request.data,
|
||||||
|
context = {"registered_user":registered_user.pk})
|
||||||
|
|
||||||
|
if serializer.is_valid():
|
||||||
|
serializer.save()
|
||||||
|
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
||||||
|
return Response(serializer.errors, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
|
||||||
|
|||||||
Reference in New Issue
Block a user