diff --git a/karrot/applications/receivers.py b/karrot/applications/receivers.py index 43f033ba..8013c0da 100644 --- a/karrot/applications/receivers.py +++ b/karrot/applications/receivers.py @@ -39,14 +39,15 @@ def group_member_added(sender, instance, created, **kwargs): group = instance.group user = instance.user - for application in group.application_set.all(): - conversation = Conversation.objects.get_for_target(application) - conversation.join(user) - # If users join the group by another way (e.g. invitations), withdraw their application for application in group.application_set.filter(user=user, status=ApplicationStatus.PENDING.value): application.withdraw() + # Joining all the existing pending application conversations + for application in group.application_set.filter(status=ApplicationStatus.PENDING.value): + conversation = Conversation.objects.get_for_target(application) + conversation.join(user) + @receiver(pre_delete, sender=GroupMembership) def group_member_removed(sender, instance, **kwargs):