Skip to content
Snippets Groups Projects
Commit 286782b6 authored by Vegard Murvold Sporstøl's avatar Vegard Murvold Sporstøl
Browse files
parents 1d14b8ab a3910326
No related branches found
No related tags found
1 merge request!7Task3
......@@ -98,7 +98,9 @@ class WorkoutSerializer(serializers.HyperlinkedModelSerializer):
if "files" in validated_data:
files_data = validated_data.pop("files")
print(validated_data)
workout = Workout.objects.create(**validated_data)
print(workout)
for exercise_instance_data in exercise_instances_data:
ExerciseInstance.objects.create(workout=workout, **exercise_instance_data)
......@@ -127,6 +129,7 @@ class WorkoutSerializer(serializers.HyperlinkedModelSerializer):
instance.name = validated_data.get("name", instance.name)
instance.notes = validated_data.get("notes", instance.notes)
instance.owner = validated_data.get("owner", instance.owner)
instance.visibility = validated_data.get("visibility", instance.visibility)
instance.date = validated_data.get("date", instance.date)
instance.save()
......
......@@ -26,6 +26,7 @@ from workouts.models import Workout, Exercise, ExerciseInstance, WorkoutFile
from workouts.serializers import WorkoutSerializer, ExerciseSerializer
from workouts.serializers import RememberMeSerializer
from workouts.serializers import ExerciseInstanceSerializer, WorkoutFileSerializer
from django.contrib.auth import get_user_model
from django.core.exceptions import PermissionDenied
from rest_framework_simplejwt.tokens import RefreshToken
from rest_framework.response import Response
......@@ -128,7 +129,10 @@ class WorkoutList(
return self.create(request, *args, **kwargs)
def perform_create(self, serializer):
serializer.save(owner=self.request.user)
owner = self.request.POST.get("owner")
User = get_user_model()
user = User.objects.get(username=owner)
serializer.save(owner=user)
def get_queryset(self):
qs = Workout.objects.none()
......
This diff is collapsed.
......@@ -33,15 +33,15 @@
<div class="centering">
<div class="list-group list-group-horizontal d-inline-flex mt-2">
<div class="number">
<h1 id="week">Last seven days</h1>
<h1 id="week">0</h1>
<p>Last seven days</p>
</div>
<div class="number">
<h1 id="month">Last thirty days</h1>
<h1 id="month">0</h1>
<p>Last 30 days</p>
</div>
<div class="number">
<h1 id="year">Last 365 days</h1>
<h1 id="year">0</h1>
<p>Last 365 days</p>
</div>
</div>
......
......@@ -11,6 +11,14 @@
integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1"
crossorigin="anonymous"
/>
<script src="scripts/defaults.js"></script>
<script src="scripts/scripts.js"></script>
<script type="text/javascript" src="scripts/workout.js"></script>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js"
integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW"
crossorigin="anonymous"
></script>
<script
src="https://kit.fontawesome.com/0ce6c392ca.js"
......@@ -52,15 +60,34 @@
</div>
<div class="col-lg-6"></div>
<div class="col-lg-6">
<label for="inputOwner" class="form-label">Owner</label>
<input
type="text"
class="form-control"
id="inputOwner"
name="owner_username"
readonly
/>
<div id="divAthlete">
<label for="forAthlete">Create workout for athlete</label>
<input id="forAthlete" type="checkbox" onclick="athleteChecked()" />
</div>
<div class="col-lg-6"></div>
<p>Owner</p>
<div>
<select
id="athletes"
class="form-select"
name="owner_username"
style="display:none"
onclick="athletesInDropdown(); this.onclick=null;"
>
</select>
<input
type="text"
class="form-control"
id="inputOwner"
name="owner_username"
style="display:block"
readonly
/>
</div>
</div>
<div class="col-lg-6"></div>
<div class="col-lg-6">
<label for="inputVisibility" class="form-label">Visibility</label>
<select
......@@ -74,6 +101,7 @@
<option value="PR">Private</option>
</select>
</div>
<div class="col-lg-6"></div>
<div class="col-lg-6">
<label for="inputNotes" class="form-label">Notes</label>
<textarea
......@@ -197,14 +225,5 @@
<div class="col-lg-6"></div>
</div>
</template>
<script src="scripts/defaults.js"></script>
<script src="scripts/scripts.js"></script>
<script src="scripts/workout.js"></script>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js"
integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW"
crossorigin="anonymous"
></script>
</body>
</html>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment