def redirect(path, **kwargs): """ Quotes and encodes an URL and sends a redirect response. @param path: Route pattern. @type path: C{str} @param kwargs: Route and URL parameters. @type kwargs: C{dict} of C{str} to C{str} """ u = bottle.url(path, **kwargs) bottle.redirect(u)
def login(userauth): req_redirect = request.query.get("redirect") req_login = request.query.get("login") if userauth.is_auth: login_success(req_redirect) elif users.oauth_redirect: session, url = users.oauth_redirect(req_redirect, req_login) start_session(session) redirect(url) elif users.get_authentication: return utils.template("login", userauth=userauth, req_login=req_login, req_redirect=req_redirect) else: abort(500, "No authentication method") return
def login_success(r): if r is None or not r.startswith("/"): r = "/userprofile" redirect(r + "?message=" + quote("Login successful!"))