1
0
mirror of https://gitlab.com/animath/si/plateforme-corres2math.git synced 2025-07-07 16:28:31 +02:00

Update the mailing list if the team name or trigram got updated

This commit is contained in:
Yohann D'ANELLO
2020-10-11 17:10:59 +02:00
parent a5e7325a5b
commit b3db01c02e
4 changed files with 23 additions and 6 deletions

View File

@ -1,4 +1,5 @@
from participation.models import Participation, Video
from corres2math.lists import get_sympa_client
from participation.models import Participation, Team, Video
def create_team_participation(instance, **_):
@ -8,3 +9,17 @@ def create_team_participation(instance, **_):
if not participation.synthesis:
participation.synthesis = Video.objects.create()
participation.save()
def update_mailing_list(instance: Team, **_):
if instance.pk:
old_team = Team.objects.get(pk=instance.pk)
if old_team.name != instance.name or old_team.trigram != instance.trigram:
old_team.delete_mailing_list()
instance.create_mailing_list()
for student in instance.students.all():
get_sympa_client().subscribe(student.user.email, f"equipe-{instance.trigram.lower()}", False,
f"{student.user.first_name} {student.user.last_name}")
for coach in instance.coachs.all():
get_sympa_client().subscribe(coach.user.email, f"equipe-{instance.trigram.lower()}", False,
f"{coach.user.first_name} {coach.user.last_name}")