From 48b34e4362bb70548ea0ce01a687619db5d0c71d Mon Sep 17 00:00:00 2001 From: Yohann D'ANELLO Date: Sat, 14 Nov 2020 23:43:42 +0100 Subject: [PATCH] Ensure that teams have a participation --- apps/participation/models.py | 2 +- apps/participation/signals.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) 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, **_):