コード例 #1
0
def create_league(user, name=None, users=None, notify=True):
    if name is None:
        haikunator = Haikunator()
        name = haikunator.haikunate(token_length=0)

    new_league = League(id=str(ObjectId()),
                        created=datetime.utcnow(),
                        name=name,
                        owner_id=user.id,
                        status=LeagueStatus.CREATED)
    new_league.owner = user

    insert_league(new_league)

    members = [user]
    if users is not None:
        members = list(set(members + users))

    for member in members:
        insert_membership(new_league, member)

        if notify and member.id != user.id:
            user_added_to_league_notification(member, new_league)

    return new_league
コード例 #2
0
def add_user(league, user_email, notify=True, user=None):
    if not user_email:
        return

    user = user or get_user_by_email(user_email)
    if user and user not in league.users:
        league.users.append(user)
        insert_membership(league, user)

        if notify:
            user_added_to_league_notification(user, league)

    elif user is None:
        invited_user = InvitedUser(id=str(ObjectId()),
                                   email=user_email,
                                   league_id=league.id)
        insert_invited_user(invited_user, str(league.id))
        league.invited_users.append(invited_user)

        if notify:
            user_invited_to_league_notification(invited_user, league)
コード例 #3
0
    def test_send(self, messenger, email):
        sent = user_added_to_league_notification(self.user, self.league)

        self.assertTrue(sent)
        messenger.assert_called_once_with(self.user, self.league)
        email.assert_called_once_with(self.user, self.league)
コード例 #4
0
    def test_disabled(self):
        self.user.preferences.user_added_to_league_notifications = False
        self.user.save()

        sent = user_added_to_league_notification(self.user, self.league)
        self.assertFalse(sent)
コード例 #5
0
 def test_no_user(self):
     sent = user_added_to_league_notification(None, self.league)
     self.assertFalse(sent)
コード例 #6
0
 def test_no_league(self):
     sent = user_added_to_league_notification(self.user, None)
     self.assertFalse(sent)