diff --git a/apps/participation/models.py b/apps/participation/models.py index 3c64a7e..c19f9f8 100644 --- a/apps/participation/models.py +++ b/apps/participation/models.py @@ -65,7 +65,7 @@ class Team(models.Model): "education", raise_error=False, ) - if self.participation.valid: + if self.pk and self.participation.valid: get_sympa_client().subscribe(self.email, "equipes", False, f"Equipe {self.name}") get_sympa_client().subscribe(self.email, f"probleme-{self.participation.problem}", False, f"Equipe {self.name}") diff --git a/apps/participation/signals.py b/apps/participation/signals.py index a7ee7d4..67998d9 100644 --- a/apps/participation/signals.py +++ b/apps/participation/signals.py @@ -2,7 +2,7 @@ from corres2math.lists import get_sympa_client from participation.models import Participation, Team, Video -def create_team_participation(instance, **_): +def create_team_participation(instance, created, **_): """ When a team got created, create an associated team and create Video objects. """ @@ -12,6 +12,8 @@ def create_team_participation(instance, **_): if not participation.synthesis: participation.synthesis = Video.objects.create() participation.save() + if not created: + participation.team.create_mailing_list() def update_mailing_list(instance: Team, **_):