diff --git a/app/bloonsa_api/views.py b/app/bloonsa_api/views.py index 28f54bf..c2eb2a3 100644 --- a/app/bloonsa_api/views.py +++ b/app/bloonsa_api/views.py @@ -35,8 +35,8 @@ class LoadLevel(CSRFexemptTemplateView): if request.user.is_authenticated: player: Player = request.user.player player.bloonsa_levels_played.add(level) - bloonsa_util.log(player=player, - request=request, + bloonsa_util.log(request=request, + player=player, action=actions.bloonsa_load_level_by_id, note=level.level_id) @@ -57,7 +57,8 @@ class RandomLevel(CSRFexemptTemplateView): if not player.bloonsa_levels_played.filter(pk=level.pk).exists(): level.played_by.add(player) level.save() - bloonsa_util.log(player=player, + bloonsa_util.log(request=request, + player=player, action=actions.bloonsa_load_random_level, note=level.level_id) else: @@ -120,8 +121,8 @@ class CompleteLevel(CSRFexemptTemplateView): score.update(commit=True, dart_glitch_ever=True) - bloonsa_util.log(player=player, - request=request, + bloonsa_util.log(request=request, + player=player, action=actions.bloonsa_submit_score, note=level.level_id) @@ -139,8 +140,8 @@ class RateLevel(CSRFexemptTemplateView): level: Level = Level.objects.get(level_id=level_id) player: Player = request.user.player ratingObject = player.bloonsa_level_ratings.filter(level=level).first() - bloonsa_util.log(player=player, - request=request, + bloonsa_util.log(request=request, + player=player, action=actions.bloonsa_rate_level, note=level.level_id) if ratingObject: diff --git a/app/bloonsa_game/views.py b/app/bloonsa_game/views.py index e0a5c9b..8428b0e 100644 --- a/app/bloonsa_game/views.py +++ b/app/bloonsa_game/views.py @@ -29,8 +29,8 @@ class GameView(TemplateView): if type(kwargs.get("pk")) is int: level = Level.objects.get(level_id=kwargs["pk"]) if level: - bloonsa_util.log(player=player, - request=request, + bloonsa_util.log(request=request, + player=player, action=actions.bloonsa_load_level_by_url, note=level) return render(request, "bloonsa_game/game.html", context={ diff --git a/app/users/util.py b/app/users/util.py index 13afba7..32a8b60 100644 --- a/app/users/util.py +++ b/app/users/util.py @@ -39,14 +39,14 @@ class BloonsaUtil: return player # Update activity timestamp and IP - def tag_player(self, request, player): + def tag_player(self, request): if not self.tracking: return - if not request or not request.user.is_authenticated: + if not request and not request.user.is_authenticated: return - player.latestActivity = timezone.now() - player.latestIP = self.get_ip(request=request) - player.save() + request.user.player.latest_activity = timezone.now() + request.user.player.latest_ip = self.get_ip(request=request) + request.user.player.save() def log(self, action, note=None, player=None, request=None): if not self.tracking: @@ -55,7 +55,7 @@ class BloonsaUtil: if not request or not request.user.is_authenticated: return player = self.init_player(request=request) - self.tag_player(request=request, player=player) + self.tag_player(request=request) item = Log(player=player, action=action, note=note) diff --git a/app/users/views.py b/app/users/views.py index 8abbe7c..1902d99 100644 --- a/app/users/views.py +++ b/app/users/views.py @@ -22,8 +22,8 @@ class LoginView(TemplateView): user = form.get_user() login(request=request, user=user) bloonsa_util.init_player(request=request) - bloonsa_util.log(player=user.player, - request=request, + bloonsa_util.log(request=request, + player=user.player, action=actions.login) return redirect("bloonsa_game:game") @@ -46,8 +46,8 @@ class RegisterView(TemplateView): player.invite_code = invite_code player.save() - bloonsa_util.log(player=player, - request=request, + bloonsa_util.log(request=request, + player=player, action=actions.login) return redirect("bloonsa_game:game") @@ -95,12 +95,11 @@ class ConfigView(LoginRequiredMixin, TemplateView): form_user.save() if form_player.is_valid(): form_player.save() - # TODO this form doesn't save for some reason if form_config.is_valid(): form_config.save() - bloonsa_util.log(action=actions.config, - request=request, - player=request.user.player) + bloonsa_util.log(request=request, + player=request.user.player, + action=actions.config) # messages.success(request, "Profile updated successfully") return redirect("users:config") \ No newline at end of file