예제 #1
0
    def POST_connect(self, form, jquery, meetup, other, code):
        if meetup.state not in CONNECT_STATES:
            self.abort403()

        jquery("body .connection-success").hide()

        if form.has_errors("username",
                           errors.NO_USER,
                           errors.USER_DOESNT_EXIST):
            return

        if c.user == other:
            c.errors.add(errors.MEETUP_NOT_WITH_SELF, field="username")
            form.set_error(errors.MEETUP_NOT_WITH_SELF, "username")
            return

        expected_code = utils.make_secret_code(meetup, other)
        if code != expected_code:
            g.log.warning("%r just tried an invalid code on %r",
                          c.user.name, other.name)
            c.errors.add(errors.MEETUP_INVALID_CODE, field="code")
            form.set_error(errors.MEETUP_INVALID_CODE, "code")
            return

        models.MeetupConnections._connect(meetup, c.user, other)
        models.MeetupConnectionsByAccount._connect(meetup, c.user, other)
        g.stats.simple_event("meetup.connection")

        form.redirect("/meetup/%s/connect?connected-with=%s" % (meetup._id,
                                                                other.name))
예제 #2
0
    def POST_connect(self, form, jquery, meetup, other, code):
        if meetup.state not in CONNECT_STATES:
            self.abort403()

        jquery("body .connection-success").hide()

        if form.has_errors("username", errors.NO_USER,
                           errors.USER_DOESNT_EXIST):
            return

        if c.user == other:
            c.errors.add(errors.MEETUP_NOT_WITH_SELF, field="username")
            form.set_error(errors.MEETUP_NOT_WITH_SELF, "username")
            return

        expected_code = utils.make_secret_code(meetup, other)
        if code != expected_code:
            g.log.warning("%r just tried an invalid code on %r", c.user.name,
                          other.name)
            c.errors.add(errors.MEETUP_INVALID_CODE, field="code")
            form.set_error(errors.MEETUP_INVALID_CODE, "code")
            return

        models.MeetupConnections._connect(meetup, c.user, other)
        models.MeetupConnectionsByAccount._connect(meetup, c.user, other)
        g.stats.simple_event("meetup.connection")

        form.redirect("/meetup/%s/connect?connected-with=%s" %
                      (meetup._id, other.name))
예제 #3
0
    def __init__(self, meetup, user, topic):
        self.meetup = meetup
        self.username = user.name
        self.link_karma = format_number(max(user.karma("link"), 0))
        self.comment_karma = format_number(max(user.karma("comment"), 0))
        self.registration_date = format_date(user._date, "medium", c.locale)

        self.code = "%02d" % utils.make_secret_code(meetup, user)
        self.url = "%s/or/%s/%s" % (g.shortdomain, user.name, self.code)

        if not topic:
            topic = random.choice(TOPICS.keys())
        starter = TOPICS[topic]
        self.starter = Storage(
            title=starter.title(),
            content=starter(user),
        )

        Templated.__init__(self)
예제 #4
0
    def __init__(self, meetup, user, topic):
        self.meetup = meetup
        self.username = user.name
        self.link_karma = format_number(max(user.karma("link"), 0))
        self.comment_karma = format_number(max(user.karma("comment"), 0))
        self.registration_date = format_date(user._date, "medium", c.locale)

        self.code = "%02d" % utils.make_secret_code(meetup, user)
        self.url = "%s/or/%s/%s" % (g.shortdomain, user.name, self.code)

        if not topic:
            topic = random.choice(TOPICS.keys())
        starter = TOPICS[topic]
        self.starter = Storage(
            title=starter.title(),
            content=starter(user),
        )

        Templated.__init__(self)