def register_ip(event): if ("test-login" in event.request.session and event.request.session["test-login"] or event.request.path.startswith('/static')): return None team_id = event.request.authenticated_userid t = transaction.savepoint() if not team_id: return ip = unicode(event.request.client_addr) try: DBSession.add(TeamIP(team_id=team_id, ip=ip)) DBSession.flush() except IntegrityError: t.rollback()
def register_team(form, request): """ Create a new team from a form and send a confirmation email. Args: ``form``: A filled out :class:`fluxscoreboard.forms.front.RegisterForm`. ``request``: The corresponding request. Returns: The :class:`Team` that was created. """ team = Team(name=form.name.data, email=form.email.data, password=form.password.data, country=form.country.data, timezone=form.timezone.data, size=form.size.data, ) DBSession.add(team) DBSession.flush() send_activation_mail(team, request) return team