mirror of
https://gitlab.com/animath/si/plateforme-corres2math.git
synced 2025-06-21 13:18:22 +02:00
Create a Matrix channel when a team got created
This commit is contained in:
@ -1,3 +1,4 @@
|
||||
import asyncio
|
||||
import os
|
||||
import re
|
||||
|
||||
@ -56,6 +57,7 @@ class Team(models.Model):
|
||||
"hotline", # TODO Use a custom sympa template
|
||||
f"Liste de diffusion pour contacter l'équipe {self.name} des Correspondances",
|
||||
"education",
|
||||
raise_error=False,
|
||||
)
|
||||
|
||||
def delete_mailing_list(self):
|
||||
@ -68,6 +70,7 @@ class Team(models.Model):
|
||||
|
||||
Matrix.create_room(
|
||||
visibility=RoomVisibility.private,
|
||||
name=f"#équipe-{self.trigram.lower()}",
|
||||
alias=f"team-{self.trigram.lower()}",
|
||||
topic=f"Discussion de l'équipe {self.name}",
|
||||
preset=RoomPreset.private_chat,
|
||||
|
@ -1,11 +1,12 @@
|
||||
import asyncio
|
||||
from io import BytesIO
|
||||
import os
|
||||
from zipfile import ZipFile
|
||||
|
||||
from django.shortcuts import redirect
|
||||
from django.views.generic.base import View, TemplateView
|
||||
from django.views.generic.base import TemplateView
|
||||
|
||||
from corres2math.lists import get_sympa_client
|
||||
from corres2math.matrix import Matrix
|
||||
from corres2math.views import AdminMixin
|
||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||
from django.core.exceptions import PermissionDenied
|
||||
@ -51,6 +52,9 @@ class CreateTeamView(LoginRequiredMixin, CreateView):
|
||||
registration.save()
|
||||
get_sympa_client().subscribe(user.email, f"equipe-{form.instance.trigram.lower()}", False,
|
||||
f"{user.first_name} {user.last_name}")
|
||||
|
||||
Matrix.invite(f"#team-{form.instance.trigram.lower()}:correspondances-maths.fr",
|
||||
f"@{user.registration.matrix_username}:correspondances-maths.fr")
|
||||
return ret
|
||||
|
||||
def get_success_url(self):
|
||||
@ -82,6 +86,9 @@ class JoinTeamView(LoginRequiredMixin, FormView):
|
||||
registration.save()
|
||||
get_sympa_client().subscribe(user.email, f"equipe-{form.instance.trigram.lower()}", False,
|
||||
f"{user.first_name} {user.last_name}")
|
||||
|
||||
Matrix.invite(f"#team-{form.instance.trigram.lower()}:correspondances-maths.fr",
|
||||
f"@{user.registration.matrix_username}:correspondances-maths.fr")
|
||||
return ret
|
||||
|
||||
def get_success_url(self):
|
||||
|
Reference in New Issue
Block a user