games: add: is_in_game method

This commit is contained in:
starnakin 2024-01-19 13:29:57 +01:00
parent 60a3e02420
commit c0efa07144

View File

@ -6,6 +6,8 @@ from django.dispatch import receiver
from django.conf import settings
from django.db.models import IntegerField
from games.consumers import game_manager
def upload_to(instance, filename: str):
return f"./profiles/static/avatars/{instance.pk}.{filename.split('.')[1]}"
@ -13,6 +15,13 @@ def upload_to(instance, filename: str):
class ProfileModel(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
avatar_url = models.ImageField(upload_to=upload_to, default="./profiles/static/avatars/default.avif") #blank=True, null=True)
def is_in_game(self):
for game in game_manager._game_list:
for player in game.get_players_connected():
if (player.user_id == self.user.pk):
return True
return False
@receiver(post_save, sender=User)
def on_user_created(sender, instance, created, **kwargs):