def test_already_invited(self): """Ensure form is not valid if invite has already been sent""" from_user = User.objects.create(username="******") to_user = User.objects.create(username="******", email="*****@*****.**") InvitationStat.add_invites(2) istat = from_user.invitationstat istat.refresh_from_db() # Create an existing invitation JoinInvitation.invite(from_user, to_user.email, send=False) # Attempt to invite same user again form_data = { "email_address": to_user.email } form = InviteForm(user=from_user, data=form_data) self.assertFalse(form.is_valid())
def invite_user(self, from_user, to_email, role, message=None): if not JoinInvitation.objects.filter(signup_code__email=to_email).exists(): invite = JoinInvitation.invite(from_user, to_email, message, send=False) membership, _ = self.memberships.get_or_create( invite=invite, defaults={"role": role, "state": Membership.STATE_INVITED} ) invite.send_invite() signals.invited_user.send(sender=self, membership=membership) return membership
def invite_user(self, from_user, to_email, role, message=None): if not JoinInvitation.objects.filter(signup_code__email=to_email).exists(): invite = JoinInvitation.invite(from_user, to_email, message, send=False) membership, _ = self.memberships.get_or_create( invite=invite, defaults={"role": role, "state": BaseMembership.STATE_INVITED} ) invite.send_invite() signals.invited_user.send(sender=self, membership=membership, by=from_user) return membership
def test_process_independent_joins(self): JoinInvitation.process_independent_joins(self.to_user, "*****@*****.**") invite = JoinInvitation.objects.get(pk=self.invitation.pk) self.assertEqual(invite.status, JoinInvitation.STATUS_JOINED_INDEPENDENTLY)