def signup(): email = request.forms.get("email") username = request.forms.get("username") password = request.forms.get("password") verify = request.forms.get("verify") # set these up in case we have an error case errors = {'username': cgi.escape(username), 'email': cgi.escape(email)} if validate_signup(username, password, verify, email, errors): if not users.add_user(username, password, email): # this was a duplicate errors[ 'username_error'] = "Username already in use. Please choose another" return template("welcome/signin", errors) session_id = sessions.start_session(username) print session_id response.set_cookie("session", session_id) redirect("/") else: print "user did not validate" return template( "welcome/signin", errors.items() + dict(stylesheet=['login.css']).items()) return template("welcome/signup")
def signup(): email = request.forms.get("email") username = request.forms.get("username") password = request.forms.get("password") verify = request.forms.get("verify") # set these up in case we have an error case errors = {'username': cgi.escape(username), 'email': cgi.escape(email)} if validate_signup(username, password, verify, email, errors): if not users.add_user(username, password, email): # this was a duplicate errors['username_error'] = "Username already in use. Please choose another" return template("welcome/signin", errors) session_id = sessions.start_session(username) print session_id response.set_cookie("session", session_id) redirect("/") else: print "user did not validate" return template("welcome/signin", errors.items() + dict(stylesheet=['login.css']).items() ) return template("welcome/signup")
def login(): username = request.forms.get("username") password = request.forms.get("password") print "user submitted ", username, "pass ", password user_record = users.validate_login(username, password) if user_record: # username is stored in the user collection in the _id key session_id = sessions.start_session(user_record['_id']) if session_id is None: redirect("/internal_error") cookie = session_id # Warning, if you are running into a problem whereby the cookie being set here is # not getting set on the redirect, you are probably using the experimental version of bottle (.12). # revert to .11 to solve the problem. response.set_cookie("session", cookie) redirect("/") else: print 'must re-login!' return template("login", dict(username=cgi.escape(username), password="", message="Invalid Login"))