From 297c02a080743b6caff169cbf819d8850c152b40 Mon Sep 17 00:00:00 2001 From: Walter Date: Wed, 12 Feb 2025 21:09:58 +0100 Subject: [PATCH] Fixed some bugs and changed how level ratings work --- app/bloonsa_api/views.py | 8 ++++---- app/bloonsa_game/views.py | 1 + app/users/util.py | 2 +- app/users/views.py | 4 ++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/app/bloonsa_api/views.py b/app/bloonsa_api/views.py index f567c17..a94dd45 100644 --- a/app/bloonsa_api/views.py +++ b/app/bloonsa_api/views.py @@ -69,18 +69,18 @@ class RateLevel(CSRFexemptTemplateView): levelId = int(request.POST.get("levelId")) level = Level.objects.get(levelId=levelId) player = Player.objects.get(user=request.user) - ratingObject = LevelRating.objects.filter(player=player, - level=level).first() + ratingObject = Player.objects.filter(bloonsa_levelRatings__level=level).first() if ratingObject: ratingObject.rating = rating ratingObject.save() return HttpResponse(content="OK", status=200) else: - rating = LevelRating.objects.create(player=player, - level=level, + rating = LevelRating.objects.create(level=level, rating=rating) + player.bloonsa_levelRatings.add(rating) rating.save() + player.save() return HttpResponse(content="OK", status=200) return HttpResponse(status=400) diff --git a/app/bloonsa_game/views.py b/app/bloonsa_game/views.py index e82a981..2b08d6f 100644 --- a/app/bloonsa_game/views.py +++ b/app/bloonsa_game/views.py @@ -24,6 +24,7 @@ class GameView(TemplateView): def get(self, request, *args, **kwargs): tag_player(request=request) + # This init is for accounts made with 'createsuperuser' or originating from bloonsb init_player(request=request) # TODO get player object here with init_player to use in html template03.3.005 diff --git a/app/users/util.py b/app/users/util.py index 267fb0a..f79085b 100644 --- a/app/users/util.py +++ b/app/users/util.py @@ -33,7 +33,7 @@ def tag_player(request): return player = Player.objects.filter(user=request.user).first() if not player: - init_player(request=request, user=request.user) + init_player(request=request) player.latestActivity = timezone.now() player.latestIP = get_ip(request=request) player.save() \ No newline at end of file diff --git a/app/users/views.py b/app/users/views.py index 1d49564..00932fd 100644 --- a/app/users/views.py +++ b/app/users/views.py @@ -19,7 +19,7 @@ class LoginView(TemplateView): if not form.is_valid(): return render(request=request, template_name="users/login.html", context={"form": form}) user = form.get_user() - init_player(request=request, user=user) + init_player(request=request) login(request=request, user=user) return redirect("bloonsa_game:game") @@ -35,7 +35,7 @@ class RegisterView(TemplateView): if not form.is_valid(): return render(request=request, template_name="users/register.html", context={"form": form}) user = form.save() - init_player(request=request, user=user) + init_player(request=request) login(request=request, user=user) return redirect("bloonsa_game:game")