예제 #1
0
def register():
	form = RegistrationForm(request.form)
	if request.method == 'POST' and form.validate():
		db = db_connect()
		cur = db.cursor()
		salt = get_salt()
		password_hash = phash(form.password.data + salt)
		# TODO: Clean up this handling.
		# Handles case where email is not present, inserts NULL below.
		# Notice lack of single quotes in query which facilitates this.
		if form.email.data != "":
			email = "'{}'".format(form.email.data)
		else:
			email = "NULL"

		query = "INSERT INTO users (username, l_username, first_name, " \
				"last_name, password_hash, salt, email) VALUES " \
				"('{username}', LOWER('{username}'), '{first_name}', " \
				"'{last_name}', '{password_hash}', '{salt}', {email})".format(
						username=form.username.data,
						first_name=form.first_name.data,
						last_name=form.last_name.data,
						password_hash=password_hash,
						salt=salt,
						email=email
					)
		cur.execute(query)
		db.commit()

		session['logged'] = form.username.data
		return redirect(url_for('homepage'))
	
	return render_template("register.html", form=form)
예제 #2
0
def register():
    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        user_id = registration_logic.register_user(form)
        user = User.objects.get(pk=user_id)
        login_user(user)
        return redirect(url_for('index'))
    else:
        print form.errors
        return 'Registration Failed. %s' % str(form.errors)
예제 #3
0
def register():
    form = RegistrationForm(request.form)
    if request.method == "POST" and form.validate():
        user_id = registration_logic.register_user(form)
        user = User.objects.get(pk=user_id)
        login_user(user)
        return redirect(url_for("index"))
    else:
        print form.errors
        return "Registration Failed. %s" % str(form.errors)
예제 #4
0
파일: user.py 프로젝트: charlierm/partify
def register_post():
    """Processes input from the registration form and registers a new user."""
    form = RegistrationForm(request.form)
    if form.validate():
        user = User(form.name.data, form.username.data, form.password.data)
        db.session.add(user)
        db.session.commit()
        session["user"] = dict((k, getattr(user, k)) for k in ("name", "id", "username"))
        if User.query.count() == 1:
            # If there's only one user in the database at this point (i.e. this is the first user in the DB), then give that user administrative rights.
            for priv in privs:
                give_user_privilege(user, priv)
        return redirect(url_for("main"))
    else:
        return render_template("register.html", form=form)
예제 #5
0
def register_post():
    """Processes input from the registration form and registers a new user."""
    form = RegistrationForm(request.form)
    if form.validate():
        user = User(form.name.data, form.username.data, form.password.data)
        db.session.add(user)
        db.session.commit()
        session['user'] = dict(
            (k, getattr(user, k)) for k in ('name', 'id', 'username'))
        if User.query.count() == 1:
            # If there's only one user in the database at this point (i.e. this is the first user in the DB), then give that user administrative rights.
            for priv in privs:
                give_user_privilege(user, priv)
        return redirect(url_for('main'))
    else:
        return render_template("register.html", form=form)