Some cleanup with references to player model

This commit is contained in:
Walter 2025-02-18 16:02:27 +01:00
parent 01ee684113
commit 25f79e9e21
7 changed files with 38 additions and 17 deletions

View File

@ -32,7 +32,7 @@ class LoadLevel(CSRFexemptTemplateView):
if request.user.is_authenticated:
bloonsa_util.tag_player(request=request)
player: Player = Player.objects.get(user=request.user)
player: Player = request.user.player
player.bloonsa_levels_played.add(level)
bloonsa_util.log(player=player,
action=actions.bloonsa_load_level_by_id,
@ -46,7 +46,7 @@ class RandomLevel(CSRFexemptTemplateView):
def post(self, request, *args, **kwargs):
if request.user.is_authenticated:
bloonsa_util.tag_player(request=request)
player: Player = Player.objects.get(user=request.user)
player: Player = request.user.player
level: Level = Level.objects.order_by("?").filter(~Q(played_by=player)).first()
if not level:
@ -82,7 +82,7 @@ class CompleteLevel(CSRFexemptTemplateView):
pops = int(request.POST.get("pops"))
level: Level = Level.objects.get(level_id=level_id)
player: Player = Player.objects.get(user=request.user)
player: Player = request.user.player
score = LevelScore.objects.filter(player=player,
level=level).first()
@ -137,7 +137,7 @@ class RateLevel(CSRFexemptTemplateView):
rating = int(request.POST.get("rating"))
level_id = int(request.POST.get("level_id"))
level: Level = Level.objects.get(level_id=level_id)
player: Player = Player.objects.get(user=request.user)
player: Player = request.user.player
ratingObject = player.bloonsa_level_ratings.filter(level=level).first()
bloonsa_util.log(player=player,
action=actions.bloonsa_rate_level,
@ -185,7 +185,7 @@ class GetStatusData(CSRFexemptTemplateView):
}
if request.user.is_authenticated:
player: Player = Player.objects.get(user=request.user)
player: Player = request.user.player
score: LevelScore = LevelScore.objects.filter(player=player,
level=level).first()
level_cleared = player.has_beaten_bloonsa_level(level=level)

View File

@ -15,7 +15,7 @@
class="level-plays-img filter-grey"
id="profile-plays-img"
type="image/svg+xml"></object>
<span id="profile-plays-number">{{ player.bloonsa_levels_played_count }}</span>
<span id="profile-plays-number">{{ user.player.bloonsa_levels_played_count }}</span>
<span id="profile-plays-separator"> / </span>
<span id="profile-plays-max">{{ total_levels }}</span>
</div>
@ -24,7 +24,7 @@
class="level-wins-img filter-orange"
id="profile-clears-img"
type="image/svg+xml"></object>
<span id="profile-clears-number">{{ player.bloonsa_levels_beaten_count }}</span>
<span id="profile-clears-number">{{ user.player.bloonsa_levels_beaten_count }}</span>
<span id="profile-clears-separator"> / </span>
<span id="profile-clears-max">{{ total_levels }}</span>
</div>

View File

@ -32,13 +32,11 @@ class GameView(TemplateView):
action=actions.bloonsa_load_level_by_url,
note=level)
return render(request, "bloonsa_game/game.html", context={
"player": player,
"total_levels": total_levels,
"flashVars": level.get_flash_vars(seperator="&"),
})
return render(request, "bloonsa_game/game.html",
context={"player": player,
"total_levels": total_levels,})
context={"total_levels": total_levels,})
class WIPView(TemplateView):

View File

@ -71,4 +71,4 @@ class UserLoginForm(AuthenticationForm):
]
class UserConfigForm():
raise NotImplementedError()
...

View File

@ -0,0 +1,24 @@
# Generated by Django 5.1.6 on 2025-02-18 14:08
import django_resized.forms
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('users', '0023_alter_player_user'),
]
operations = [
migrations.AddField(
model_name='player',
name='avatar',
field=django_resized.forms.ResizedImageField(crop=None, default='default.jpg', force_format='JPEG', keep_meta=False, quality=75, scale=None, size=[256, 256], upload_to='avatars'),
),
migrations.AddField(
model_name='player',
name='bio',
field=models.TextField(max_length=128, null=True),
),
]

View File

@ -23,7 +23,7 @@ class BloonsaUtil:
def init_player(self, request):
if not request.user.is_authenticated:
return
player = Player.objects.filter(user=request.user).first()
player = request.user.player
if player:
return player
ip = self.get_ip(request=request)
@ -39,7 +39,7 @@ class BloonsaUtil:
return
if not request.user.is_authenticated:
return
player = Player.objects.filter(user=request.user).first()
player = request.user.player
if not player:
player = self.init_player(request=request)
if player.banned:

View File

@ -19,9 +19,8 @@ class LoginView(TemplateView):
if not form.is_valid():
return render(request=request, template_name="users/login.html", context={"form": form})
user = form.get_user()
player = bloonsa_util.init_player(request=request)
login(request=request, user=user)
bloonsa_util.log(player=player,
bloonsa_util.log(player=user.player,
action=actions.login)
return redirect("bloonsa_game:game")
@ -39,7 +38,8 @@ class RegisterView(TemplateView):
user = form.save()
player = bloonsa_util.init_player(request=request)
login(request=request, user=user)
bloonsa_util.log(player=player,
bloonsa_util.log(player=user.player,
action=actions.login)
return redirect("bloonsa_game:game")
@ -70,7 +70,6 @@ class ConfigView(TemplateView):
template_name="users/config.html",
context={"form": form})
user = form.save()
player = bloonsa_util.init_player(request=request)
login(request=request, user=user)
#bloonsa_util.log(player=player,
# action=actions.login)