diff --git a/backend/secfit/users/forms.py b/backend/secfit/users/forms.py index c2e25067d080d79e4fa9dc84439b5e87217b47ca..4706248ced13404e080cac2ee75c8e84e0bef9ec 100644 --- a/backend/secfit/users/forms.py +++ b/backend/secfit/users/forms.py @@ -9,11 +9,13 @@ class CustomUserCreationForm(UserCreationForm): country = forms.CharField(max_length=50) city = forms.CharField(max_length=50) street_address = forms.CharField(max_length=50) + favourite_exercise = forms.CharField(max_length=50) + main_gym = forms.CharField(max_length=50) class Meta(UserCreationForm): model = get_user_model() - fields = ("username", "coach", "phone_number", "country", "city", "street_address") + fields = ("username", "coach", "phone_number", "country", "city", "street_address", "favourite_exercise", "main_gym") class CustomUserChangeForm(UserChangeForm): diff --git a/backend/secfit/users/models.py b/backend/secfit/users/models.py index d48528655225b97a32833eb1a6629e0d266ba6df..bc94ef7bfae1bcc591e6b60390ba963da8a10286 100644 --- a/backend/secfit/users/models.py +++ b/backend/secfit/users/models.py @@ -18,7 +18,9 @@ class User(AbstractUser): country = models.TextField(max_length=50, blank=True) city = models.TextField(max_length=50, blank=True) street_address = models.TextField(max_length=50, blank=True) - + favourite_exercise = models.TextField(max_length=50, blank=True) + main_gym = models.TextField(max_length=50, blank=True) + def athlete_directory_path(instance, filename): """ diff --git a/backend/secfit/users/serializers.py b/backend/secfit/users/serializers.py index 0e1a83ba88f61b5fd0b3c8ff34ed7e9fee668b63..7935f40e132f75f2d33a0c33fa9218ba672af6e7 100644 --- a/backend/secfit/users/serializers.py +++ b/backend/secfit/users/serializers.py @@ -22,6 +22,8 @@ class UserSerializer(serializers.HyperlinkedModelSerializer): "country", "city", "street_address", + "favourite_exercise", + "main_gym", "coach", "workouts", "coach_files", @@ -49,7 +51,9 @@ class UserSerializer(serializers.HyperlinkedModelSerializer): country = validated_data["country"] city = validated_data["city"] street_address = validated_data["street_address"] - user_obj = get_user_model()(username=username, email=email, phone_number=phone_number, country=country, city=city, street_address=street_address) + favourite_exercise = validated_data["favourite_exercise"] + main_gym = validated_data["main_gym"] + user_obj = get_user_model()(username=username, email=email, phone_number=phone_number, country=country, city=city, street_address=street_address, favourite_exercise=favourite_exercise, main_gym=main_gym) user_obj.set_password(password) user_obj.save() @@ -69,6 +73,8 @@ class UserGetSerializer(serializers.HyperlinkedModelSerializer): "country", "city", "street_address", + "favourite_exercise", + "main_gym", "coach", "workouts", "coach_files", diff --git a/frontend/www/register.html b/frontend/www/register.html index 0140dcc01aac2c227d7558cb557954d29d0100fa..18efc0c8066b13aa5b95216bfc342afe984f7e6c 100644 --- a/frontend/www/register.html +++ b/frontend/www/register.html @@ -59,6 +59,16 @@ <input class="form-control" name="street_address" placeholder="Street address" type="text" required> </div> <!-- form-group// --> + <div class="input-group mb-2"> + <span class="input-group-text"> <i class="fas fa-hotel"></i> </span> + <input class="form-control" name="main_gym" placeholder="Main gym" type="text" + required> + </div> <!-- form-group// --> + <div class="input-group mb-2"> + <span class="input-group-text"> <i class="fas fa-hotel"></i> </span> + <input class="form-control" name="favourite_exercise" placeholder="Favourite exercise" type="text" + required> + </div> <!-- form-group// --> <div class="d-grid"> <input type="button" class="btn btn-primary" id="btn-create-account" value=" Create Account "> @@ -77,4 +87,4 @@ <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> \ No newline at end of file +</html> diff --git a/frontend/www/scripts/profile.js b/frontend/www/scripts/profile.js index ceba324d72bcbb9a12d3c29ff3764356077ca14d..27da90cba92d210b1642437d9ce875ccaf823c59 100644 --- a/frontend/www/scripts/profile.js +++ b/frontend/www/scripts/profile.js @@ -81,7 +81,11 @@ async function createExercise() { document.body.prepend(alert); } - console.log("TEST*IJG") + 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))); } function handleEditExerciseButtonClick() { diff --git a/frontend/www/scripts/register.js b/frontend/www/scripts/register.js index 2c3c323ce1a5f6222884ba161739106f1472de55..ede96f0e1f92b0a1731d3087767165ba5ac527ef 100644 --- a/frontend/www/scripts/register.js +++ b/frontend/www/scripts/register.js @@ -1,9 +1,8 @@ async function createNewUser(event) { let form = document.querySelector("#form-register-user"); let formData = new FormData(form); - let response = await sendRequest("POST", `${HOST}/api/users/`, formData, ""); - + if (!response.ok) { let data = await response.json(); let alert = createAlert("Registration failed!", data); @@ -16,7 +15,9 @@ async function createNewUser(event) { phone_number: formData.get("phone_number"), country: formData.get("country"), city: formData.get("city"), - street_address: formData.get("street_address") + street_address: formData.get("street_address"), + main_gym: formData.get("main_gym"), + favourite_exercise: formData.get("favourite_exercise") }; response = await sendRequest("POST", `${HOST}/api/token/`, body); if (response.ok) { @@ -32,7 +33,7 @@ async function createNewUser(event) { } form.reset(); window.location.replace("workouts.html"); - } + } } -document.querySelector("#btn-create-account").addEventListener("click", async (event) => await createNewUser(event)); \ No newline at end of file +document.querySelector("#btn-create-account").addEventListener("click", async (event) => await createNewUser(event)); diff --git a/frontend/www/scripts/workouts.js b/frontend/www/scripts/workouts.js index 772be1ea070499ad9574d787d990c1ca17097bdf..d8e969fc55184b2dc1c7826e84c7f78ad52022d8 100644 --- a/frontend/www/scripts/workouts.js +++ b/frontend/www/scripts/workouts.js @@ -103,4 +103,4 @@ window.addEventListener("DOMContentLoaded", async () => { } }); } -}); \ No newline at end of file +});