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")) levelId = int(request.POST.get("levelId"))
level = Level.objects.get(levelId=levelId) level = Level.objects.get(levelId=levelId)
player = Player.objects.get(user=request.user) player = Player.objects.get(user=request.user)
ratingObject = LevelRating.objects.filter(player=player, ratingObject = Player.objects.filter(bloonsa_levelRatings__level=level).first()
level=level).first()
if ratingObject: if ratingObject:
ratingObject.rating = rating ratingObject.rating = rating
ratingObject.save() ratingObject.save()
return HttpResponse(content="OK", status=200) return HttpResponse(content="OK", status=200)
else: else:
rating = LevelRating.objects.create(player=player, rating = LevelRating.objects.create(level=level,
level=level,
rating=rating) rating=rating)
player.bloonsa_levelRatings.add(rating)
rating.save() rating.save()
player.save()
return HttpResponse(content="OK", status=200) return HttpResponse(content="OK", status=200)
return HttpResponse(status=400) return HttpResponse(status=400)

View File

@ -24,6 +24,7 @@ class GameView(TemplateView):
def get(self, request, *args, **kwargs): def get(self, request, *args, **kwargs):
tag_player(request=request) tag_player(request=request)
# This init is for accounts made with 'createsuperuser' or originating from bloonsb
init_player(request=request) init_player(request=request)
# TODO get player object here with init_player to use in html template03.3.005 # 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 return
player = Player.objects.filter(user=request.user).first() player = Player.objects.filter(user=request.user).first()
if not player: if not player:
init_player(request=request, user=request.user) init_player(request=request)
player.latestActivity = timezone.now() player.latestActivity = timezone.now()
player.latestIP = get_ip(request=request) player.latestIP = get_ip(request=request)
player.save() player.save()

View File

@ -19,7 +19,7 @@ class LoginView(TemplateView):
if not form.is_valid(): if not form.is_valid():
return render(request=request, template_name="users/login.html", context={"form": form}) return render(request=request, template_name="users/login.html", context={"form": form})
user = form.get_user() user = form.get_user()
init_player(request=request, user=user) init_player(request=request)
login(request=request, user=user) login(request=request, user=user)
return redirect("bloonsa_game:game") return redirect("bloonsa_game:game")
@ -35,7 +35,7 @@ class RegisterView(TemplateView):
if not form.is_valid(): if not form.is_valid():
return render(request=request, template_name="users/register.html", context={"form": form}) return render(request=request, template_name="users/register.html", context={"form": form})
user = form.save() user = form.save()
init_player(request=request, user=user) init_player(request=request)
login(request=request, user=user) login(request=request, user=user)
return redirect("bloonsa_game:game") return redirect("bloonsa_game:game")