profiles: block rework and tests
This commit is contained in:
@ -1,9 +1,7 @@
|
||||
from django.db import models
|
||||
|
||||
from django.contrib.auth.models import User
|
||||
from django.db import models
|
||||
from django.db.models.signals import post_save, pre_delete
|
||||
from django.dispatch import receiver
|
||||
from django.db.models import IntegerField
|
||||
|
||||
from games.consumers import game_manager
|
||||
|
||||
@ -14,11 +12,10 @@ def upload_to(instance, filename: str):
|
||||
return f"./profiles/static/avatars/{instance.pk}{splitext(filename)[1]}"
|
||||
|
||||
|
||||
# Create your models here.
|
||||
class ProfileModel(models.Model):
|
||||
user = models.ForeignKey(User, on_delete=models.CASCADE)
|
||||
avatar = models.ImageField(upload_to=upload_to, default="./profiles/static/avatars/default.avif")
|
||||
|
||||
|
||||
def get_game(self) -> int:
|
||||
for game in game_manager._game_list:
|
||||
for player in game.get_players_connected():
|
||||
@ -26,27 +23,28 @@ class ProfileModel(models.Model):
|
||||
return game.game_id
|
||||
return None
|
||||
|
||||
|
||||
@receiver(pre_delete, sender=ProfileModel)
|
||||
def delete_profile_picture(sender, instance, **kwargs):
|
||||
if instance.avatar.name != './profiles/static/avatars/default.avif':
|
||||
instance.avatar.storage.delete(instance.avatar.name)
|
||||
|
||||
|
||||
@receiver(post_save, sender=User)
|
||||
def on_user_created(sender, instance, created, **kwargs):
|
||||
if created:
|
||||
profile: ProfileModel = ProfileModel.objects.create(pk = instance.pk, user = instance)
|
||||
profile: ProfileModel = ProfileModel.objects.create(pk=instance.pk, user=instance)
|
||||
profile.save()
|
||||
|
||||
class BlockModel(models.Model):
|
||||
blocker = IntegerField(primary_key=False)
|
||||
blocked = IntegerField(primary_key=False)
|
||||
|
||||
def __str__(self):
|
||||
return "blocker_id: " + str(self.blocker) + ", blocked_id: " + str(self.blocked)
|
||||
|
||||
class BlockModel(models.Model):
|
||||
blocker = models.ForeignKey(User, on_delete=models.CASCADE, related_name='blocker')
|
||||
blocked = models.ForeignKey(User, on_delete=models.CASCADE, related_name='blocked')
|
||||
|
||||
|
||||
class AskFriendModel(models.Model):
|
||||
asker = IntegerField(primary_key=False)
|
||||
asked = IntegerField(primary_key=False)
|
||||
asker = models.IntegerField(primary_key=False)
|
||||
asked = models.IntegerField(primary_key=False)
|
||||
|
||||
def getAsked(self, asker):
|
||||
askeds = []
|
||||
@ -74,9 +72,10 @@ class AskFriendModel(models.Model):
|
||||
deleted.delete()
|
||||
return True
|
||||
|
||||
|
||||
class FriendModel(models.Model):
|
||||
user_id1 = IntegerField(primary_key=False)
|
||||
user_id2 = IntegerField(primary_key=False)
|
||||
user_id1 = models.IntegerField(primary_key=False)
|
||||
user_id2 = models.IntegerField(primary_key=False)
|
||||
|
||||
def getFriends(self, user_id):
|
||||
friends = []
|
||||
|
Reference in New Issue
Block a user