From 01e6ab2279ab1b822694e92b9d5c9a2900167908 Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Tue, 19 Jan 2021 11:32:28 +0100 Subject: [PATCH] Add #tirage-au-sort Matrix channel --- .../management/commands/fix_matrix_channels.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/apps/participation/management/commands/fix_matrix_channels.py b/apps/participation/management/commands/fix_matrix_channels.py index 308b66c..71d987c 100644 --- a/apps/participation/management/commands/fix_matrix_channels.py +++ b/apps/participation/management/commands/fix_matrix_channels.py @@ -225,12 +225,23 @@ class Command(BaseCommand): preset=RoomPreset.private_chat, ) + if not async_to_sync(Matrix.resolve_room_alias)(f"#tirage-au-sort-{slug}:tfjm.org"): + Matrix.create_room( + visibility=RoomVisibility.public, + alias=f"tirage-au-sort-{slug}", + name=f"{name} - Tirage au sort", + topic=f"Tirage au sort du tournoi de {name}", + federate=False, + preset=RoomPreset.private_chat, + ) + # Setup avatars Matrix.set_room_avatar(f"#annonces-{slug}:tfjm.org", avatar_uri) Matrix.set_room_avatar(f"#flood-{slug}:tfjm.org", avatar_uri) Matrix.set_room_avatar(f"#general-{slug}:tfjm.org", avatar_uri) Matrix.set_room_avatar(f"#jury-{slug}:tfjm.org", avatar_uri) Matrix.set_room_avatar(f"#orga-{slug}:tfjm.org", avatar_uri) + Matrix.set_room_avatar(f"#tirage-au-sort-{slug}:tfjm.org", avatar_uri) # Invite admins and give permissions for admin in AdminRegistration.objects.all(): @@ -240,6 +251,7 @@ class Command(BaseCommand): Matrix.invite(f"#general-{slug}:tfjm.org", f"@{admin.matrix_username}:tfjm.org") Matrix.invite(f"#jury-{slug}:tfjm.org", f"@{admin.matrix_username}:tfjm.org") Matrix.invite(f"#orga-{slug}:tfjm.org", f"@{admin.matrix_username}:tfjm.org") + Matrix.invite(f"#tirage-au-sort-{slug}:tfjm.org", f"@{admin.matrix_username}:tfjm.org") self.stdout.write(f"Give permissions to {admin} in all channels of the tournament {name}...") Matrix.set_room_power_level(f"#annonces-{slug}:tfjm.org", f"@{admin.matrix_username}:tfjm.org", 95) @@ -247,6 +259,7 @@ class Command(BaseCommand): Matrix.set_room_power_level(f"#general-{slug}:tfjm.org", f"@{admin.matrix_username}:tfjm.org", 95) Matrix.set_room_power_level(f"#jury-{slug}:tfjm.org", f"@{admin.matrix_username}:tfjm.org", 95) Matrix.set_room_power_level(f"#orga-{slug}:tfjm.org", f"@{admin.matrix_username}:tfjm.org", 95) + Matrix.set_room_power_level(f"#tirage-au-sort-{slug}:tfjm.org", f"@{admin.matrix_username}:tfjm.org", 95) # Invite organizers and give permissions for orga in tournament.organizers.all(): @@ -256,6 +269,7 @@ class Command(BaseCommand): Matrix.invite(f"#general-{slug}:tfjm.org", f"@{orga.matrix_username}:tfjm.org") Matrix.invite(f"#jury-{slug}:tfjm.org", f"@{orga.matrix_username}:tfjm.org") Matrix.invite(f"#orga-{slug}:tfjm.org", f"@{orga.matrix_username}:tfjm.org") + Matrix.invite(f"#tirage-au-sort-{slug}:tfjm.org", f"@{orga.matrix_username}:tfjm.org") if not orga.is_admin: Matrix.set_room_power_level(f"#annonces-{slug}:tfjm.org", f"@{orga.matrix_username}:tfjm.org", 50) @@ -263,6 +277,8 @@ class Command(BaseCommand): Matrix.set_room_power_level(f"#general-{slug}:tfjm.org", f"@{orga.matrix_username}:tfjm.org", 50) Matrix.set_room_power_level(f"#jury-{slug}:tfjm.org", f"@{orga.matrix_username}:tfjm.org", 50) Matrix.set_room_power_level(f"#orga-{slug}:tfjm.org", f"@{orga.matrix_username}:tfjm.org", 50) + Matrix.set_room_power_level(f"#tirage-au-sort-{slug}:tfjm.org", + f"@{orga.matrix_username}:tfjm.org", 50) # Invite participants for participation in tournament.participations.filter(valid=True).all(): @@ -271,6 +287,7 @@ class Command(BaseCommand): Matrix.invite(f"#annonces-{slug}:tfjm.org", f"@{participant.matrix_username}:tfjm.org") Matrix.invite(f"#flood-{slug}:tfjm.org", f"@{participant.matrix_username}:tfjm.org") Matrix.invite(f"#general-{slug}:tfjm.org", f"@{participant.matrix_username}:tfjm.org") + Matrix.invite(f"#tirage-au-sort-{slug}:tfjm.org", f"@{participant.matrix_username}:tfjm.org") # Create pool-specific channels for pool in tournament.pools.all(): @@ -329,6 +346,7 @@ class Command(BaseCommand): Matrix.invite(f"#orga-{slug}:tfjm.org", f"@{jury.matrix_username}:tfjm.org") Matrix.invite(f"#poule-{slug}-{pool.id}:tfjm.org", f"@{jury.matrix_username}:tfjm.org") Matrix.invite(f"#poule-{slug}-{pool.id}-jurys:tfjm.org", f"@{jury.matrix_username}:tfjm.org") + Matrix.invite(f"#tirage-au-sort-{slug}:tfjm.org", f"@{jury.matrix_username}:tfjm.org") if not jury.is_admin: Matrix.set_room_power_level(f"#jury-{slug}:tfjm.org", f"@{jury.matrix_username}:tfjm.org", 50)