예제 #1
0
    def invite(self, sess, comment, investor, invitee_name):
        if investor.firm == 0:
            return comment.reply_wrap(message.no_firm_failure_org)

        if investor.firm_role == "":
            return comment.reply_wrap(message.not_assoc_org)

        firm = sess.query(Firm).\
            filter(Firm.id == investor.firm).\
            first()

        if not firm.private:
            return comment.reply_wrap(message.invite_not_private_failure_org)

        invitee = sess.query(Investor).\
            filter(func.lower(Investor.name) == func.lower(invitee_name)).\
            first()
        if invitee == None:
            return comment.reply_wrap(message.invite_no_user_failure_org)
        if invitee.firm != 0:
            return comment.reply_wrap(message.invite_in_firm_failure_org)

        sess.add(Invite(firm=firm.id, investor=invitee.id))

        return comment.reply_wrap(message.modify_invite(invitee, firm))
예제 #2
0
    def test_invite(self):
        self.command('!create')
        self.set_balance(5000000)
        self.command('!createfirm foobar')
        self.command('!setprivate')

        self.command('!create', username='******')

        replies = self.command('!invite testuser2')
        self.assertEqual(len(replies), 1)
        self.assertEqual(replies[0], message.modify_invite(MockInvestor('testuser2', ''), MockFirm('foobar')))