Example #1
0
def register_user():
    form = UserRegisterForm()

    if form.validate_on_submit():
        first_name = form.first_name.data
        last_name = form.last_name.data
        email = form.email.data
        username = form.username.data
        password = form.password.data

        new_user = User.register(first_name, last_name, email, username,
                                 password)

        db.session.add(new_user)
        try:
            db.session.commit()
            session["username"] = new_user.username
            flash("Account created", "success")

            return redirect(f"/users/{new_user.username}")
        except IntegrityError:
            form.username.errors.append(
                "Username already taken. Please choose another.")
            return render_template("register.html", form=form)

    return render_template("register.html", form=form)
Example #2
0
def register():
    form = UserRegisterForm()
    if form.validate_on_submit():
        # If user email already exists
        if User.query.filter_by(email=form.email.data).first():
            print(User.query.filter_by(email=form.email.data).first())
            # user already exists
            flash("You've already signed up with that email, log in instead!")
            return redirect(url_for('login'))

        hash_and_salted_password = generate_password_hash(
            password=form.password.data, method='pbkdf2:sha256', salt_length=8)

        # Create a new_user object
        new_user = User(name=form.name.data,
                        email=form.email.data,
                        password=hash_and_salted_password)

        # Add new user to db
        db.session.add(new_user)
        db.session.commit()

        login_user(new_user)
        return redirect(url_for('get_all_posts'))

    return render_template("register.html",
                           form=form,
                           current_user=current_user)
Example #3
0
def register():
    """Handle user signup.
    Create new user and add to DB. Redirect to home page.
    If form not valid, present form.
    If the there already is a user with that username: flash message
    and re-present form.
    """

    # Get our register form from forms.py
    form = UserRegisterForm()

    if form.validate_on_submit():

        # Did the user confirm their password upon registering?
        if form.password.data != form.password2.data:
            flash('The confirmed password is incorrect.', 'error')
            return redirect('/register')

        # There should be no duplicate usernames.
        try:
            user = User.signup(username=form.username.data,
                               email=form.email.data,
                               password=form.password.data)
            db.session.commit()

        except IntegrityError:
            flash("Username already taken.", 'error')
            return render_template('users/register.html', form=form)

        # Upon successful user register, add new user to session and redirect to home page ('index.html').
        do_login(user)
        return redirect("/")
    else:
        return render_template('users/register.html', form=form)
Example #4
0
def register():
    if not app.config['CAN_REGISTER']:
        abort(403)
    form = UserRegisterForm()
    if form.validate_on_submit():
        u = User()
        pm = bMan()
        form.populate_obj(u)
        u.password = pm.encode(form.password.data)
        db.session.add(u)
        db.session.commit()
        flash('New user %s registered' % (form.username.data), category='info')
        return redirect(url_for('login'))
    return render_template('register.html', form=form, title='Register')
Example #5
0
def register():
    if not app.config["CAN_REGISTER"]:
        abort(403)
    form = UserRegisterForm()
    if form.validate_on_submit():
        u = User()
        pm = bMan()
        form.populate_obj(u)
        u.password = pm.encode(form.password.data)
        db.session.add(u)
        db.session.commit()
        flash("New user %s registered" % (form.username.data), category="info")
        return redirect(url_for("login"))
    return render_template("register.html", form=form, title="Register")
Example #6
0
def register():
    if not app.config['CAN_REGISTER']:
        abort(403)
    form = UserRegisterForm()
    if form.validate_on_submit():
        u = User()
        pm = bMan()
        form.populate_obj(u)
        u.password = pm.encode(form.password.data)
        db.session.add(u)
        db.session.commit()
        flash('New user %s registered' % (form.username.data), category='info')
        return redirect(url_for('login'))
    return render_template('account/register.html',
                           form=form,
                           title='Register',
                           )
Example #7
0
def register_user():
    form = UserRegisterForm()
    if form.validate_on_submit():
        try:
            data = {k: v for k, v in form.data.items() if k != "csrf_token"}
            new_user = User.register(User(**data))
            User.save(new_user)
        except IntegrityError:
            form.username.errors.append('Username taken. Please pick another')
            return render_template("register.html", form=form)

        do_login(new_user)
        flash("Welcome! Successfully Created Your Account!", "success")
        return redirect(f'/users/{new_user.id}/calendar')
    else:

        return render_template('register.html', form=form)
Example #8
0
def register():
    form = UserRegisterForm()
    if form.validate_on_submit():
        if User.query.filter_by(email=form.email.data).first() is None:
            hashed_password = generate_password_hash(form.password.data,
                                                     "pbkdf2:sha256", 10)
            new_user = User(username=form.username.data,
                            password=hashed_password,
                            email=form.email.data)
            db.session.add(new_user)
            db.session.commit()
            login_user(new_user)
            return redirect(url_for("get_all_posts"))
        else:
            flash("You have already registered. Log in instead!")
            return redirect(url_for("login"))
    return render_template("register.html",
                           form=form,
                           current_user=current_user)
def register_user():
    form = UserRegisterForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        email = form.email.data
        first_name = form.first_name.data
        last_name = form.last_name.data
        user = User.register(username, password, email, first_name, last_name)

        db.session.add(user)
        try:
            db.session.commit()
        except IntegrityError:
            form.username.errors.append('Username taken.  Please pick another')
            return render_template('register.html', form=form)
        session['username'] = user.username
        flash('Welcome! Successfully Created Your Account!', "success")
        return redirect(f"/users/{user.username}")

    return render_template('register.html', form=form)
Example #10
0
def register():
    form = UserRegisterForm()
    if form.validate_on_submit():
        if User.query.filter_by(email=form.email.data).first():
            # User already exists
            flash("You've already signed up with that email, log in instead!")
            return redirect(url_for('login'))

        hash_and_salted_password = generate_password_hash(
            form.password.data, method='pbkdf2:sha256', salt_length=8)
        new_user = User(email=form.email.data,
                        name=form.name.data,
                        password=hash_and_salted_password,
                        enabled=0)
        db.session.add(new_user)
        db.session.commit()
        send_registration_alert(form.email.data)
        flash("Your user will be enabled soon. Try to login in a few minutes")
        return redirect(url_for('login'))

    return render_template("register.html", form=form)
Example #11
0
def register_user():
    username = session.get('username')
    if username:
        return redirect(f'/users/{username}')

    form = UserRegisterForm()

    if form.validate_on_submit():
        username, password, email, first_name, last_name = parse_user_form(form)
        
        new_user = Users.register(username=username, password=password, 
                        email=email, first_name=first_name, last_name=last_name)
        db.session.add(new_user)
        try:
            db.session.commit()
        except IntegrityError:
            form.username.errors.append('Username taken. Please choose another')
            return render_template('register.html', form=form)
        
        session['username'] = new_user.username
        return redirect(f'/users/{new_user.username}')
    
    return render_template('register.html', form=form)
Example #12
0
def register():
    """This view function handles the registeration of a new user.

       It creates a new user and adds to the dateMeet DB, then redirects to the home page.

       If form is not valid, present form.

       If there is already an existing user with the entered username: flash message 
       and represent form.
    """

    logout_user()

    form = UserRegisterForm()

    if form.validate_on_submit():
        try:
            user = User.register(first_name=form.first_name.data,
                                 last_name=form.last_name.data,
                                 username=form.username.data,
                                 email=form.email.data,
                                 password=form.password.data,
                                 image_url=form.image_url.data,
                                 header_url=form.header_url.data)

            db.session.commit()

        except IntegrityError:
            flash("Username already exist", 'danger')
            return render_template('users/register.html', form=form)

        login_user(user)

        return redirect("/")

    else:
        return render_template('users/register.html', form=form)
Example #13
0
def register_user():
    form = UserRegisterForm()
    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        email = form.email.data
        first_name = form.first_name.data
        last_name = form.last_name.data

        new_user = User.register(username=username,
                                 password=password,
                                 email=email,
                                 first_name=first_name,
                                 last_name=last_name)
        db.session.add(new_user)
        try:
            db.session.commit()
        except IntegrityError:
            form.errors.append("User Alredy exsists")

        session['user_id'] = new_user.id
        flash('Wolcome! You have successfully registered', 'success')
        return redirect(f'/users/{new_user.username}')
    return render_template('register.html', form=form)