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))
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)