diff --git a/backend/secfit/users/urls.py b/backend/secfit/users/urls.py index 928013341b800bca5809c25d75456e73d5196bd2..66e4c066b85e3c133d8dee92c7683197d8c225e3 100644 --- a/backend/secfit/users/urls.py +++ b/backend/secfit/users/urls.py @@ -6,8 +6,8 @@ urlpatterns = [ path("api/users/", views.UserList.as_view(), name="user-list"), path("api/users/<int:pk>/", views.UserDetail.as_view(), name="user-detail"), path("api/users/<str:username>/", views.UserDetail.as_view(), name="user-detail"), - path("api/users/<str:favorite_exercise>/", views.UserDetail.as_view(), name="user-detail"), - path("api/users/<str:gym>/", views.UserDetail.as_view(), name="user-detail"), + path("api/users/<str:favourite_exercise>/", views.UserDetail.as_view(), name="user-detail"), + path("api/users/<str:main_gym>/", views.UserDetail.as_view(), name="user-detail"), path("api/offers/", views.OfferList.as_view(), name="offer-list"), path("api/offers/<int:pk>/", views.OfferDetail.as_view(), name="offer-detail"), path( diff --git a/backend/secfit/workouts/tests.py b/backend/secfit/workouts/tests.py index 7fbbf7847f5b0f201d408d4017cc865d614e2615..020173078b1d4593cc6131cb8c24e8897cc3f2e7 100644 --- a/backend/secfit/workouts/tests.py +++ b/backend/secfit/workouts/tests.py @@ -3,4 +3,47 @@ Tests for the workouts application. """ from django.test import TestCase +from django.urls import reverse, resolve + +from workouts.views import Workout, WorkoutDetail, WorkoutList +from users.models import User +from workouts.models import Workout +import workouts.permissions as Perms + # Create your tests here. + +class PermissionsTestCase(TestCase): + def setUp(self): + user_one = User.objects.create(phone_number="12345678", country="Norway", city="Trondheim", street_address="street 3", favourite_exercise="Biceps", main_gym="SIT") + workout_one = Workout.objects.create(name="Curl", date="2022-03-03", notes="nice", owner=User.objects.get(phone_number="12345678"), visibility="PU") + user_one.username = "jorsi" + user_one.password = "123" + user_one.save() + workout_one.save() + print("user info: " + user_one.username) + print(workout_one.name + "Owner:" +workout_one.owner.username) + self.user_one = user_one + self.workout_one = workout_one + + def test_user_database(self): + user_count=User.objects.all().count() + self.assertEqual(user_count, 1) + #workout=Workout.objects.get(name="Curl") + #owner=workout. + + def test_is_owner(self): + #Perms.IsOwner.has_object_permission(self, self.user_one,"", self.workout_one) + #print(Perms.IsOwner.has_object_permission(self.user_one, self.workout_one)) + + #does nothing to the test atm + self.client.login( + username=self.user_one.username, password=self.user_one.password + ) + + self.assertEqual(self.user_one, self.workout_one.owner) + + def test_url(self): + url = reverse("workout-list") + #what view will show for that url: + print(resolve(url)) + self.assertEquals(resolve(url).func, WorkoutList.as_view()) diff --git a/frontend/www/scripts/profile.js b/frontend/www/scripts/profile.js index 353e8a7198755917dd57fa2e6ecac4e96c049115..e0ca6d14b7d6463d179142b6ad19690539625d1b 100644 --- a/frontend/www/scripts/profile.js +++ b/frontend/www/scripts/profile.js @@ -4,12 +4,12 @@ async function fetchProfileData(request) { if (response.ok) { let data = await response.json(); - const username = sessionStorage.getItem("username"); - console.log("USERNAME:", username); - let response2 = await sendRequest("GET", `${HOST}/api/users/`); - let data2 = await response2.json(); - console.log("USER:", data2.results.map((item) => console.log(item))); -} + let users = data.results; + let container = document.getElementById('div-content'); + let exerciseTemplate = document.querySelector("#users"); + users.forEach(user => { + const exerciseAnchor = exerciseTemplate.content.firstElementChild.cloneNode(true); + exerciseAnchor.href = `exercise.html?id=${user.id}`; const h5 = exerciseAnchor.querySelector("h5"); h5.textContent = exercise.name; diff --git a/frontend/www/scripts/profilesettings.js b/frontend/www/scripts/profilesettings.js index 71af728c5738407d921f3734fcd1614fa20a8322..d4422ac8001afd534a48ab22f26a7d2f318f86bc 100644 --- a/frontend/www/scripts/profilesettings.js +++ b/frontend/www/scripts/profilesettings.js @@ -158,18 +158,8 @@ async function updateGym(id) { let alert = createAlert(`Could not update gym ${id}`, data); document.body.prepend(alert); } else { - muscleGroupSelector.setAttribute("disabled", "") - // duplicate code from handleCancelButtonDuringEdit - // you should refactor this - setReadOnly(true, "#form-exercise"); - okButton.className += " hide"; - deleteButton.className += " hide"; - cancelButton.className += " hide"; - editButton.className = editButton.className.replace(" hide", ""); - - cancelButton.removeEventListener("click", handleCancelButtonDuringEdit); - - oldFormData.delete("gym"); + console.log(response); + window.location.replace("exercises.html"); } } @@ -200,7 +190,7 @@ window.addEventListener("DOMContentLoaded", async () => { okButton.className = okButton.className.replace(" hide", ""); cancelButton.className = cancelButton.className.replace(" hide", ""); - okButton.addEventListener("click", async () => await createExercise()); + okButton.addEventListener("click", async () => await updateGym()); cancelButton.addEventListener("click", handleCancelButtonDuringCreate); } });