Fixed some bugs and changed how level ratings work

This commit is contained in:
Walter 2025-02-12 21:09:58 +01:00
parent f1461f0e08
commit 297c02a080
4 changed files with 8 additions and 7 deletions

View File

@ -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)

View File

@ -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

View File

@ -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()

View File

@ -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")