1
0
mirror of https://gitlab.com/animath/si/plateforme.git synced 2025-06-30 08:31:09 +02:00

Add script to create channels per tournament, pools and teams. Put channels in categories

Signed-off-by: Emmy D'Anello <emmy.danello@animath.fr>
This commit is contained in:
Emmy D'Anello
2024-04-28 13:50:04 +02:00
parent 784002c085
commit a5c210e9b6
10 changed files with 273 additions and 35 deletions

View File

@ -13,11 +13,24 @@ from tfjm.permissions import PermissionType
class Channel(models.Model):
class ChannelCategory(models.TextChoices):
GENERAL = 'general', _("General channels")
TOURNAMENT = 'tournament', _("Tournament channels")
TEAM = 'team', _("Team channels")
PRIVATE = 'private', _("Private channels")
name = models.CharField(
max_length=255,
verbose_name=_("name"),
)
category = models.CharField(
max_length=255,
verbose_name=_("category"),
choices=ChannelCategory,
default=ChannelCategory.GENERAL,
)
read_access = models.CharField(
max_length=16,
verbose_name=_("read permission"),
@ -90,7 +103,7 @@ class Channel(models.Model):
return Channel.objects.filter(**{permission_type: PermissionType.ANONYMOUS})
qs |= Channel.objects.filter(**{permission_type: PermissionType.AUTHENTICATED})
registration = await Registration.objects.aget(user_id=user.id)
registration = await Registration.objects.prefetch_related('user').aget(user_id=user.id)
if registration.is_admin:
return Channel.objects.all()
@ -147,7 +160,7 @@ class Channel(models.Model):
class Meta:
verbose_name = _("channel")
verbose_name_plural = _("channels")
ordering = ('name',)
ordering = ('category', 'name',)
class Message(models.Model):