diff --git a/app/users/migrations/0022_rename_creationdate_player_creation_date_and_more.py b/app/users/migrations/0022_rename_creationdate_player_creation_date_and_more.py new file mode 100644 index 0000000..8444a91 --- /dev/null +++ b/app/users/migrations/0022_rename_creationdate_player_creation_date_and_more.py @@ -0,0 +1,38 @@ +# Generated by Django 5.1.6 on 2025-02-14 15:54 + +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ('users', '0021_remove_player_bloonsa_levelratings_and_more'), + ] + + operations = [ + migrations.RenameField( + model_name='player', + old_name='creationDate', + new_name='creation_date', + ), + migrations.RenameField( + model_name='player', + old_name='creationIP', + new_name='creation_ip', + ), + migrations.RenameField( + model_name='player', + old_name='latestActivity', + new_name='latest_activity', + ), + migrations.RenameField( + model_name='player', + old_name='latestIP', + new_name='latest_ip', + ), + migrations.RenameField( + model_name='player', + old_name='suspectedCheater', + new_name='suspected_cheater', + ), + ] diff --git a/app/users/models.py b/app/users/models.py index c9cb2bb..e97f8d8 100644 --- a/app/users/models.py +++ b/app/users/models.py @@ -5,11 +5,11 @@ from django.contrib.auth.models import User class Player(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE, null=True, blank=True, related_name="player") # Logging - creationIP = models.GenericIPAddressField() - latestIP = models.GenericIPAddressField() - creationDate = models.DateTimeField(default=timezone.now) - latestActivity = models.DateTimeField(default=timezone.now) - suspectedCheater = models.BooleanField(default=False) # This should be set when tripping the anti-cheat + creation_ip = models.GenericIPAddressField() + latest_ip = models.GenericIPAddressField() + creation_date = models.DateTimeField(default=timezone.now) + latest_activity = models.DateTimeField(default=timezone.now) + suspected_cheater = models.BooleanField(default=False) # This should be set when tripping the anti-cheat # States suspended = models.BooleanField(default=False) # This is a shadow-ban, stats will still save but not all will show up on leaderboards banned = models.BooleanField(default=False) # Account gets logged out upon logging in @@ -26,17 +26,17 @@ class Player(models.Model): return self.bloonsa_level_scores.filter(clear=True).count() def has_beaten_bloonsa_level(self, level): - bool(self.bloonsa_level_scores.filter(clear=True, level=level).first()) + return bool(self.bloonsa_level_scores.filter(clear=True, level=level).first()) def __str__(self): statesDict = { - "cheater": "😈" if self.suspectedCheater else "", + "cheater": "😈" if self.suspected_cheater else "", "suspended": "🔒" if self.suspended else "", "banned": "❌" if self.banned else "", "admin": "👑" if self.admin else "", } states = "".join(statesDict.values()) + " " - return f"{states}{self.user} - {self.latestIP}".strip(" ") + return f"{states}{self.user} - {self.latest_ip}".strip(" ") class Log(models.Model): diff --git a/app/users/util.py b/app/users/util.py index 4849c54..d0817dc 100644 --- a/app/users/util.py +++ b/app/users/util.py @@ -28,8 +28,8 @@ class BloonsaUtil: return player ip = self.get_ip(request=request) player = Player(user=request.user, - creationIP=ip, - latestIP=ip) + creation_ip=ip, + latest_ip=ip) player.save() return player