Example #1
0
def signup():
	form = SignupForm()
	print(form.validate_on_submit())
	if form.validate_on_submit():
		username = form.name.data
		password = form.password.data
		password1 = form.password_conf.data
		if password != password1:
			return '<h1>Password do not match!</h1>'
		if check_user_present(username):
			flash('User already present')
			return redirect(url_for('login'))
		hashed_pwd = bcrypt.hashpw(password.encode('utf8'), bcrypt.gensalt())
		if bcrypt.checkpw(password.encode('utf8'), hashed_pwd):
			res = create_user(username, hashed_pwd)
			username,_,user_id = login_user(username)
		if res:
			session['id'] = user_id
			session['username'] = username
			flash('Signup Success!')
			return redirect(url_for('index'))
		else:
			flash('Signup Failed!')
			return redirect(url_for('signup'))

	return render_template('signup.html',form=form)
Example #2
0
def register():
    if session.get('logged_in'):
        if session['logged_in'] is True:
            return redirect(url_for('home', title="Sign In"))

    form = SignupForm(request.form)
    if form.validate_on_submit():
        existing_users = mongo.db.users
        """checks database to see if username exists"""
        existing_user = mongo.db.users.find_one(
            {"username": request.form.get("username").lower()})

        if existing_user:
            flash("Username already exists")
            return redirect(url_for("register", form=form))

        register = {
            "username": request.form.get("username").lower(),
            "password": generate_password_hash(request.form.get("password"))
        }
        mongo.db.users.insert_one(register)
        """put the new user into 'session' cookie"""
        session["user"] = request.form.get("username").lower()
        session['logged_in'] = True
        flash("Sign Up Successful!")
        return redirect(url_for("get_posts", username=session["user"]))

    return render_template("register.html", form=form)
Example #3
0
def register():
    form = SignupForm()
    if form.validate_on_submit():
        email = request.form['email']
        password = request.form['password']

        # create password hash
        password_hash = flask_bcrypt.generate_password_hash(password)

        # prepare user
        user = Users(email=email, password=password_hash)

        try:
            db.session.add(user)
            db.session.commit()
            if login_user(user, remember='no'):
                flash('Account Created & Logged in')
                return redirect('/')
            else:
                flash('Unable to login')
        except:
            flash('Unable to register with given email address')
            current_app.logger.error('Error on registeration - possible duplicate emails')

    return render_template('/auth/register.html', form=form)
Example #4
0
def signup():
    """
    Sign-up form to create new user accounts.

    GET: Serve sign-up page.
    POST: Validate form, create account, redirect user to dashboard.
    """
    form = SignupForm()
    if form.validate_on_submit():
        existing_user = User.query.filter_by(email=form.email.data).first()
        if existing_user is None:
            new_user = User(full_name=form.full_name.data,
                            username=form.username.data,
                            email=form.email.data,
                            password=form.password.data)
            new_user.set_password(form.password.data)
            db.session.add(new_user)
            db.session.commit()  # Create new user
            login_user(new_user)  # Log in as newly created user
            return render_template(
                'login.html',
                form=form)  # redirect(url_for('main_bp.dashboard'))
        flash('A user already exists with that email address.')
    return render_template('signup.html',
                           title='Create an Account.',
                           template='signup-page',
                           body="Sign up for a user account.",
                           form=form)
Example #5
0
def signup():
	form= SignupForm()

	if form.validate_on_submit():
	# check if email already exists
		email_exists = dbsession.query(User).filter_by(email = form.email.data).first()
	
		if email_exists != None:
			flash('Email already exists')
			return render_template('signup.html', 
				                    header='signup', 
				                    form=form)
		else:
			user = dbsession.add(User(username= form.username.data,
								  email= form.email.data,
								  password= form.password.data))
		    # add user
			dbsession.commit()

			flash("Registration almost done. Login to complete.")
		   	#user must login with new email/password
			return redirect(url_for('login'))

	return render_template('signup.html',
							header='signup',
							form=form)
Example #6
0
def registration():
    form = SignupForm()
    if form.validate_on_submit():
        client = ClientMeta(os.environ.get("LDAP_SERVER"), verify_ssl=False)
        client.login(os.environ.get("LDAP_ADMIN"),
                     os.environ.get("LDAP_PASSWORD"))
        full_name = f"{form.first_name.data} {form.last_name.data}"
        client.user_add(a_uid=form.username.data,
                        o_givenname=form.first_name.data,
                        o_sn=form.last_name.data,
                        o_cn=full_name,
                        o_userpassword=form.password.data,
                        o_preferredlanguage="EN")
        if form.invite_code.data == INVITE_CODE_ENV:
            client.group_add_member(USER_GROUP_ENV, o_user=form.username.data)
        elif form.invite_code.data == ELEVATED_INVITE_CODE_ENV:
            client.group_add_member(ELEVATED_USER_GROUP_ENV,
                                    o_user=form.username.data)

        if os.environ.get("SLACK_ENABLED") == "true":
            try:
                data = {
                    "email": form.email.data,
                    "token": os.environ.get("SLACK_API_TOKEN"),
                    "set_active": "true"
                }
                requests.post(
                    f"https://{os.environ.get('SLACK_WORKSPACE')}.slack.com/api/users.admin.invite",
                    data=data)
            except Exception as e:
                logger.error(
                    f"Challenges sending slack invite to {form.email.data} - {e}"
                )
        return redirect("/success")
    return render_template("register.html", form=form)
Example #7
0
File: views.py Project: shynp/ican
def signup():
    form = SignupForm()
    form.university.choices = [(u.id,u.name) for u in University.query.all()]
    if form.validate_on_submit():
        userTest = User.query.filter_by(email=form.email.data).first()
        existingPhoneNumberTest = User.query.filter_by(phone=form.phone.data).first()
        if existingPhoneNumberTest:
            flash("There already exists a user with this phone number.")
            return redirect(url_for('.signup'))
        if not userTest:
            u = University.query.get(form.university.data)
            user = User(email=form.email.data,
                        name=form.name.data,
                        university=u,
                        bio=form.bio.data,
                        password=form.password.data,
                        user_role = "mentor",
                        phone=form.phone.data)
            db.session.add(user)
            db.session.commit()
            login_user(user)
            return redirect(url_for('.index'))
        else:
            flash("This Username is already in use.")
            return redirect(url_for('.signup'))
    return render_template('mentor/signup.html', form = form)
Example #8
0
def signup():
    """Handle User Registration and Display form"""

    form = SignupForm()

    if form.validate_on_submit():
        username = form.username.data
        password = form.password.data
        email = form.email.data
        image = form.img_url.data or User.img_url.default.arg

        new_user = User.register(username, password, email, image)
        db.session.add(new_user)

        try:
            db.session.commit()
        except IntegrityError as err:
            db.session.rollback()
            # Check user input for errors and append to errors
            if "Key (email)" in str(err):
                form.email.errors.append("Email taken, please pick another")
            elif "Key (username)" in str(err):
                form.username.errors.append(
                    "Username taken, please pick another")
            return render_template("/users/signup.html", form=form)

        # ADD USER TO SESSION
        session[CURR_USER] = new_user.id
        flash("Thank you for registering", "warning")
        return redirect(f"/users/{new_user.id}")

    return render_template('/users/signup.html', form=form)
Example #9
0
def register_account():
    """Show signup form and process registration."""

    form = SignupForm()

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

        new_user = User.register(username, first_name, last_name, description,
                                 email, password, image_url or None)

        db.session.add(new_user)

        # put this in a try/ except IntegrityError
        # render the form again with an error message of "username already taken"
        try:

            db.session.commit()
            do_login(new_user)

            flash("You are signed up and logged in.")
            return redirect(f'/cafes')

        except IntegrityError:
            flash("Username already taken.")
            render_template('auth/signup-form.html', form=form)

    return render_template('auth/signup-form.html', form=form)
Example #10
0
def signup_user():
    """Handle form for signing up users. On successful submit,
    adds user, logs them in, and redirects them to cafe list
    with flashed message. Or renders form.
    """

    form = SignupForm()

    if form.validate_on_submit():
        username = form.username.data

        # checks if username is already taken
        if User.query.filter_by(username=username).first():
            flash(f"{username} is already taken.")
            return render_template("/auth/signup-form.html", form=form)

        user = User.register(username=form.username.data,
                             first_name=form.first_name.data,
                             last_name=form.last_name.data,
                             description=form.description.data,
                             email=form.email.data,
                             image_url=form.image_url.data,
                             password=form.password.data)

        db.session.add(user)
        db.session.commit()

        do_login(user)
        flash(f"You are signed up and logged in.", "success")
        return redirect("/cafes")

    else:
        return render_template("/auth/signup-form.html", form=form)
Example #11
0
def signup(title='SignUp'):
    form = SignupForm()
    if form.validate_on_submit() == True:
        flash(f'Account created for {form.username.data}')
        return redirect(url_for('index'))
    else:
        return render_template('signup.html', form=form, title='Intial')
Example #12
0
def signup_user():
    """ Registers user """

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

        user = User.register(username=username,
                             first_name=first_name,
                             last_name=last_name,
                             description=description,
                             email=email,
                             password=password,
                             image_url=image_url)

        db.session.add(user)
        db.session.commit()

        do_login(user)

        flash('You are signed up and logged in.')

        return redirect('/cafes')
    else:
        return render_template('auth/signup-form.html', form=form)
Example #13
0
def register():
    error = None
    form = SignupForm()
    if request.method == 'POST':
        if request.form.get('submit') == 'Cancel':
            return redirect(url_for('UsersFiles.login'))
        
        elif form.validate_on_submit():
            try: 
                user = Users(
                    user_name=form.user_name.data,
                    user_password=form.user_password1.data 
                )
                db.create_all()
                db.session.add(user)
                db.session.commit()
                Log("SIGNUP")

                login_user(user)
                Log("LOGIN")
                # add hash
                addCompHash(str(current_user))
                flash('You are just login!')
                return redirect(url_for('HomeFiles.home'))

            except:
                error = 'Signup Fail'
                db.session.rollback()
                Log("SIGNUP FAIL")
            #     trace= get_current_traceback(skip=1, show_hidden_frames=True,
            # ignore_system_exceptions=False)
            # return redirect(url_for('ShareFiles.stack_trace', trace=trace))
            

    return render_template('register.html', form = form, error = error) 
Example #14
0
def signup():
    form = SignupForm()

    error = None

    if session.get('logged_in'):
        return redirect(url_for('index'))
    if form.validate_on_submit():
        if form.password.data == form.password2.data and len(form.password.data) >= 8:
            pw_hash = generate_password_hash(form.password.data)
            try:
                user = User(email = form.email.data, alias = form.alias.data, password = pw_hash)
                user.save()
                return redirect(url_for('login'))
            except ValidationError:
                error = 'Email is not an email'
            except errors.NotUniqueError:
                error = 'Email or username is already in use'
        else:
            if len(form.password.data) < 8:
                error = 'Password too short'
            else:
                error = 'Passwords do not match'

    return render_template('signup.html', form = form, err = error)
Example #15
0
def signup():
    """
    Handles user signup.
    GET Displays signup form
    POST Creates/Adds new user to DB and redirects home
    """

    form = SignupForm()

    if form.validate_on_submit():
        user_data = generate_user_data(form)

        try:
            user = User.signup(user_data)
            add_and_commit(user)
            grocery_list = GroceryList.create(user.id)
            add_and_commit(grocery_list)

        except IntegrityError as error:
            db.session.rollback()
            if (f'(username)=({user.username}) already exists') in error._message():
                flash("Username already taken", 'danger')
            elif (f'(email)=({user.email}) already exists') in error._message():
                flash("Email already taken", 'danger')

            return render_template('users/signup.html', form=form)

        do_login(user)

        return redirect("/")

    else:
        return render_template('users/signup.html', form=form)
Example #16
0
def signup():
    form = SignupForm()
    if form.validate_on_submit():
        username = form.username.data
        email = form.email.data

        if User.query(User.username == username).get() is not None:
            form.username.errors.append('That username already exists')
            return flask.render_template('signup.html', form=form)

        if User.query(User.email == email).get() is not None:
            form.email.errors.append('That email address is already registered')
            return flask.render_template('signup.html', form=form)

        user = create_user(form)

        if user is None:
            flask.flash("Failed to create account; please try again.", 'warning')
            return flask.render_template('signup.html', form=form)

        # Add user info to session
        user_key_str = user.key.urlsafe()
        session['username'] = username
        session['user_key_str'] = user.key.urlsafe()

        flask.flash("Successfully created account, {0}!".format(username))
        return flask.redirect(flask.url_for('index'))
    return flask.render_template('basic_form.html', header='Sign up', form=form)
Example #17
0
def show_signup_form():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = SignupForm()
    error = None
    if form.validate_on_submit():
        userid = form.userid.data
        email = form.email.data
        phone = form.phone.data
        password = form.password.data
        tipo = form.tipo.data

        user = User.get_by_email(email)
        if user is not None:  # Comprobamos que no hay un usuario con ese email
            error = f'El email {email} ya está siendo utilizado por otro usuario'
        else:
            user = User(userid=userid, phone=phone, email=email,
                        tipo=tipo)  # Creamos el usuario y lo guardamos
            user.set_password(password)
            user.save()

            login_user(user, remember=True)  # Dejamos al usuario logueado
            next_page = request.args.get('next', None)
            if not next_page or url_parse(next_page).netloc != '':
                next_page = url_for('index')
            return redirect(next_page)
    return render_template("signup_form.html", form=form, error=error)
Example #18
0
def signup_form():
    form = SignupForm()

    if form.validate_on_submit():
        flash("Thank you {} for signing up for the Goodwill of Delaware and Delaware County's Mobile Service!".format(escape(form.name.data)))
        return redirect(url_for('.index')) #warning: may need to change this redirect
    return render_template('login.html', form = form) #file name here, make sure to check if name changes
Example #19
0
def sign_up():
    """ function to display the sign up page with a form for
        users to create an account. Firstly it checks that the form
        has been filled in correctly. Then if there is no existing user, it
        creates an account and notifies the users they are now
        logged in on that account. If the username already exists
        it gives them a message to try another name."""

    form = SignupForm()
    # Checking form has been filled in correctly
    if form.validate_on_submit():
        users = mongo.db.users
        existing_user = users.find_one({'username': request.form['username']})

        # If username isn't already in database
        if existing_user is None:
            hash_password = generate_password_hash(request.form['password'])
            # Create an account
            users.insert_one({
                'username': request.form['username'],
                'password': hash_password
            })
            # Notify them
            flash(f'Account created for \'{form.username.data}\'!', 'success')
            session['username'] = request.form['username']
            session['logged'] = True
            return redirect(url_for('index'))
        else:
            # If username already exists then tell user to try another username
            flash(
                f'Username \'{form.username.data}\' already exists!' +
                'Please choose a different username', 'danger')
            return redirect(url_for('sign_up'))

    return render_template('sign_up.html', title="Sign Up", form=form)
Example #20
0
def signup():
    """Handle user signup.

    If the there already is a user with that username: flash message
    and re-present form.
    """
    if CURR_USER_KEY in session:
        del session[CURR_USER_KEY]
    form = SignupForm()

    if form.validate_on_submit():
        try:
            user = User.signup(username=form.username.data,
                               password=form.password.data)
            db.session.commit()

        except exc.IntegrityError as e:
            flash("Username already taken", 'danger')
            return render_template('/users/signup.html', form=form)

        do_login(user)

        return redirect("/home")

    else:
        return render_template('/users/signup.html', form=form)
Example #21
0
def signup():
    """
        Signup, creates a new user
        if the session is logged in return to index
        when form is valided if the passwords match and the password length is
        greater than 8 characters then create the password hash
        if it is not the throw errors

        try to create the user object and catch all expected errors.
    """
    form = SignupForm()

    error = None

    if session.get('logged_in'):
        return redirect(url_for('index'))

    if form.validate_on_submit():
        if form.password.data == form.password2.data and len(form.password.data) >= 8:
            pw_hash = generate_password_hash(form.password.data)
            try:
                user = User(email = form.email.data, alias = form.alias.data, password = pw_hash)
                user.save()
                return redirect(url_for('login'))
            except ValidationError:
                error = 'Email is not an email'
            except errors.NotUniqueError:
                error = 'Email or username is already in use'
        else:
            if len(form.password.data) < 8:
                error = 'Password too short'
            else:
                error = 'Passwords do not match'

    return render_template('signup.html', form = form, err = error)
Example #22
0
def signup():
    try:
        form = SignupForm()
        if form.validate_on_submit():
          print "I am here"
          the_user = session.query(User).filter_by(mobilenumber = form.mobile.data).first()
          if the_user:
            flash("User with same mobile number already exist")
          else:
            user = User(name = form.name.data,
                   email = form.email.data,
                   password = generate_password_hash(form.password.data),
                   mobilenumber = form.mobile.data)
            session.add(user)
            session.commit()
            token = generate_confirmation_token(user.email)
            confirm_url = url_for('confirm_email',token = token,_external = True)
            html = render_template('activate.html',confirm_url = confirm_url)
            subject = "Please confirm your email {}.".format(user.name)
            send_email(user.email,subject,html)
            flash("Thank you for Registering {}.".format(user.name))
            flash("We have sent you a confirmation email to your registered email and its valid for 1 hour")
            flash("It may take 1 minute to arrive")
            flash("Please click on confirmation link sent in mail")
            return redirect(url_for('confirm'))

        return render_template('signup.html',form = form)
    except Exception as e:
        print e
def signup():
    form = SignupForm()
    if form.validate_on_submit():
        new_user = User(username=form.username.data,
                        password=form.password.data,
                        email=form.email.data)
        db.session.add(new_user)
        try:
            db.session.commit()
        except Exception as e:
            db.session.rollback()
            return render_template(
                "signup.html",
                form=form,
                message=
                "This Email already exists in the system! Please Log in instead."
            )
        finally:
            db.session.close()

        return render_template("signup.html", message="Successfully Signed up")

    return render_template("signup.html",
                           form=form,
                           email_error=form.email.errors,
                           confirm_error=form.confirm.errors)
Example #24
0
def show_signup_form():
    if current_user.is_authenticated:  #si ya esta autenticado lo envio a la pagina principal
        return redirect(url_for('index'))
    form = SignupForm()
    error = None
    if form.validate_on_submit():
        name = form.name.data
        email = form.email.data
        password = form.password.data
        #Comprobamos que no hay ya un usuario con ese email
        user = User.get_by_email(email)
        if user is not None:
            error = f'El email {email} ya está siendo utilizado por otro usuario'
        else:
            # Creamos el usuario y lo guardamos
            user = User(name=name, email=email)
            user.set_password(password)
            user_id = user.save()
            user.id = user_id
            # Dejamos el usuario logueado
            login_user(user, remember=True)
            next_page = request.args.get('next', None)
            if not next_page or url_parse(next_page).netloc != '':
                next_page = url_for('index')
            return redirect(next_page)
    return render_template("signup_form.html", form=form, error=error)
Example #25
0
File: views.py Project: shynp/ican
def signup():
    form = SignupForm()
    form.university.choices = [(u.id, u.name) for u in University.query.all()]
    if form.validate_on_submit():
        student = User.query.filter_by(email=form.email.data).first()
        existingPhoneNumberTest = User.query.filter_by(phone=form.phone.data).first()
        if existingPhoneNumberTest:
            flash("There already exists a user with this phone number.")
            return redirect(url_for('.signup'))
        if student is None:
            u = University.query.get(form.university.data)
            student = User(email=form.email.data, name=form.name.data,
                           university=u, password=form.password.data,
                           phone=form.phone.data,
                           user_role='student')
            general_tasks = GeneralTask.query.all()
            for gt in general_tasks:
                if (gt.university_id == u.id) or (gt.university_id is None):
                    new_task = Task(title=gt.title, description=gt.description,
                                    deadline=gt.deadline, user_id=student.id)
                    student.tasks.append(new_task)

            student.match_with_mentor()
            db.session.add(student)
            db.session.commit()
            login_user(student)
            return redirect(url_for('.index'))
        else:
            # throw some error and rerender form
            return redirect(url_for('.index'))
    return render_template('student/signup.html', form=form)
Example #26
0
def signup():
    if g.auth is not None and g.auth.is_authenticated():
        return redirect(url_for('index'))

    form = SignupForm()

    if form.validate_on_submit():

        user = None
        user = UserBasic.query.filter_by(email = form.email.data).first()

        if user:
            flash('That email address is already in use.')
            return redirect(url_for('signup'))

        user = UserBasic(email=form.email.data,
                    nickname = form.email.data.split('@')[0],
                    maillist=True )
        db.session.add(user)
        db.session.commit()

        if user:
            flash('Signup successful.')
            return redirect(url_for('index'))
        else:
            flash('Failed to signup user...')
            return redirect(url_for('signup'))

    return render_template('maillist/signup.html', form=form)
Example #27
0
def sign_up():
    form = SignupForm()
    if request.method == 'POST':
        if current_user.is_authenticated:
            return redirect(url_for('index'))
        if form.validate_on_submit():
            email = form.email.data
            password = form.password.data
            password_confirm = form.password_confirm.data

            # Comprobamos que no hay ya un usuario con ese email
            user = User.get_by_email(email)
            if user is not None:
                flash(u'Email already registered', 'danger')
            else:
                #Verificamos si password == password
                if password == password_confirm:
                    # Creamos el usuario y lo guardamos
                    user = User(email=email)
                    user.set_password(password)
                    user.save()
                    # Dejamos al usuario logueado
                    next_page = request.args.get('next', None)
                    if not next_page or url_parse(next_page).netloc != '':
                        next_page = url_for('sign_up')
                    flash(u'Successfully registered', 'success')
                    return redirect(next_page)
                else:
                    flash(u'Check your passwords', 'danger')
                    return redirect(url_for('sign_up'))
    return render_template("signup.html", form=form)
Example #28
0
def register():
    form = SignupForm()
    if form.validate_on_submit():
        name = request.form['username']
        email = request.form['email']
        password = request.form['password'].encode('utf-8')
        hash_password = bcrypt.hashpw(password, bcrypt.gensalt())
        print('paasword:', hash_password)
        cur = mysql.connection.cursor()
        cur.execute(
            "INSERT INTO signup (username, email, password) VALUES (%s,%s,%s)",
            (
                name,
                email,
                hash_password,
            ))
        mysql.connection.commit()
        session['username'] = request.form['username']
        session['email'] = request.form['email']
        flash(f' {form.username.data} Account created successfully', 'success')
        return redirect(url_for('createUser'))
    return render_template('register.html',
                           title='Register',
                           form=form,
                           front_image=os.path.join(
                               app.config['UPLOAD_FOLDER'], 'luis.gif'))
Example #29
0
def users():
    signup_form = SignupForm()
    if signup_form.validate_on_submit():
        first_name = signup_form.first_name.data
        last_name = signup_form.last_name.data
        email = signup_form.email.data
        password = signup_form.password.data
        phone = signup_form.phone.data

        authy_id = create_authy_user(email, phone)

        if authy_id and check_email_limit() and send_otp_email(authy_id):
            EmailLimit.increase_count(EmailLimit.query.get(1))

        user = User(first_name=first_name,
                    last_name=last_name,
                    email=email,
                    password=password,
                    phone=phone,
                    authy_id=authy_id)

        user = User.register(user)
        session['user_id'] = user.id
        # flash('User created. Please login')
        return redirect(f'/users/{user.id}')
    else:
        return render_template('signup.html', form=signup_form)
Example #30
0
def signup():
    signupForm = SignupForm()

    # Checks if the form has been submited
    if signupForm.validate_on_submit():
        try:
            hashed_password = generate_password_hash(signupForm.password.data,
                                                     method='sha256')
            new_user = models.User(username=signupForm.username.data,
                                   email=signupForm.email.data,
                                   password=hashed_password)
            db.session.add(new_user)
            db.session.commit()

            flash('You are now subscribed!', 'success')
            return redirect(url_for('home'))
        except exc.IntegrityError as e:
            print(e)
            db.session().rollback()
            flash('The email or username is already in use!', 'danger')
            return redirect(url_for('signup'))

    return render_template('auth/signup.html',
                           signupForm=signupForm,
                           name=current_user)
Example #31
0
def signup():
    form = SignupForm()

    if form.validate_on_submit():

        #   Take the form data and see if there is already an existing engineer by that name
        user = User.query.filter_by(engineer=form.engineer_id.data).first()

        print "signup user, if it is 'None' then it's a new user >>> ", repr(
            user)
        #   that engineer already exists
        if user is not None:
            return redirect(url_for('signup'))

        #   that engineer doesn't already exist, make a new User, then add it to the db
        else:
            # make a new user
            new_engineer = User(
                engineer=form.engineer_id.data,
                engineer_name_first=form.engineer_name_first.data,
                engineer_name_last=form.engineer_name_last.data,
                message=form.message.data)

            # database stuff
            db.session.add(new_engineer)
            db.session.commit()

            prepopulate_skills(new_engineer)

            # send to new homepage
            return redirect(url_for('message', engineer=new_engineer.engineer))

    return render_template('signup.html',
                           title="Register a new engineer",
                           form=form)
Example #32
0
def signup():
    form = SignupForm()
    if form.validate_on_submit():
        return redirect(url_for('success'), code=200)
    return render_template('signup.html',
                           form=form,
                           template='form-template')
Example #33
0
def signup():
    form = SignupForm()
    form.university.choices = [(u.id, u.name) for u in University.query.all()]
    if form.validate_on_submit():
        userTest = User.query.filter_by(email=form.email.data).first()
        existingPhoneNumberTest = User.query.filter_by(
            phone=form.phone.data).first()
        if existingPhoneNumberTest:
            flash("There already exists a user with this phone number.")
            return redirect(url_for('.signup'))
        if not userTest:
            u = University.query.get(form.university.data)
            user = User(email=form.email.data,
                        name=form.name.data,
                        university=u,
                        bio=form.bio.data,
                        password=form.password.data,
                        user_role="mentor",
                        phone=form.phone.data)
            db.session.add(user)
            db.session.commit()
            login_user(user)
            return redirect(url_for('.index'))
        else:
            flash("This Username is already in use.")
            return redirect(url_for('.signup'))
    return render_template('mentor/signup.html', form=form)
Example #34
0
def signup():
    form = SignupForm()
    if form.validate_on_submit():

        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('signin'))

        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,
        )
        db.session.add(new_user)
        db.session.commit()
        login_user(new_user)
        return redirect(url_for("home"))

    return render_template("signup.html",
                           form=form,
                           current_user=current_user,
                           year=year)
Example #35
0
def show_signup_form():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = SignupForm()
    error = None
    if form.validate_on_submit():
        numero_proveedor = form.numero_proveedor.data
        name = form.name.data
        email = form.email.data
        password = form.password.data
        # Comprobamos que no hay ya un usuario con ese email o número de proveedor
        user = User.get_by_email(email)
        np = User.get_by_numero(numero_proveedor)
        no_p = Proveedor.get_by_numero(numero_proveedor)
        if not no_p:
            error = f'El número de proveedor {numero_proveedor} no está dado de alta. Favor de contactar al Administrador'
        elif np is not None:
            error = f'El número de proveedor {numero_proveedor} ya está siendo utilizado por otro usuario'    
        elif user is not None:
            error = f'El email {email} ya está siendo utilizado por otro usuario'
                        
        else:
            # Creamos el usuario y lo guardamos
            user = User(name=name, email=email, numero_proveedor=numero_proveedor)
            user.set_password(password)
            user.save()
            # Dejamos al usuario logueado
            login_user(user, remember=True)
            next_page = request.args.get('next', None)
            if not next_page or url_parse(next_page).netloc != '':
                next_page = url_for('post_form')
            return redirect(next_page)
    return render_template("signup_form.html", form=form, error=error)
Example #36
0
def signup():
    """For GET requests, display the login form. For POSTS, login the current user
    by processing the form."""

    form = SignupForm()
    if form.validate_on_submit():
        if form.password.data != form.retype_password.data:
            flash('Invalid Password')
            return render_template("signup.html", form=form)

        user = User.query.get(form.email.data)
        if user :
            flash('User already exists')
            return render_template("signup.html", form=form)          

        user = User()
        user.email = form.email.data
        user.password = bcrypt.generate_password_hash(form.password.data)
        user.first_name = form.first_name.data
        user.last_name = form.last_name.data
        user.contact_no = form.contact_no.data

        # Adding Zero Balance to user
        user.balance = Balance()
        user.balance.amount = 0.0

        db.session.add(user)
        db.session.commit()

        return redirect(url_for("login"))

    return render_template("signup.html", form=form)
Example #37
0
def signup():
    form = SignupForm()

    error = None

    if session.get('logged_in'):
        return redirect(url_for('index'))
    if form.validate_on_submit():
        if form.password.data == form.password2.data and len(
                form.password.data) >= 8:
            pw_hash = generate_password_hash(form.password.data)
            try:
                user = User(email=form.email.data,
                            alias=form.alias.data,
                            password=pw_hash)
                user.save()
                return redirect(url_for('login'))
            except ValidationError:
                error = 'Email is not an email'
            except errors.NotUniqueError:
                error = 'Email or username is already in use'
        else:
            if len(form.password.data) < 8:
                error = 'Password too short'
            else:
                error = 'Passwords do not match'
    elif request.method == 'POST' and error == None:
        error = 'form not validated'
    return render_template('signup.html', form=form, err=error)
Example #38
0
def signup():
    form = SignupForm()
    if form.validate_on_submit():
        first_name = form.first_name.data
        last_name = form.last_name.data
        username = form.username.data
        email = form.email.data
        password = form.password.data
        if User.query.filter_by(username=username).first():
            db.session.rollback()
            flash('Username already taken! Please try different username',
                  "error")
        else:
            new_user = User.register(first_name=first_name.capitalize(),
                                     last_name=last_name.capitalize(),
                                     username=username,
                                     email=email,
                                     password=password)
            if new_user:
                db.session.add(new_user)
                db.session.commit()
                #session["username"] = new_user.username
                redis.set('username', new_user.username)
                flash(f"Welcome {new_user.username}!", "success")
                return redirect(f'/users/{new_user.username}')
    return render_template('signup.html', form=form)
Example #39
0
def signup():
    """
    User sign-up page.
    GET requests serve sign-up page.
    POST requests validate form & user creation.
    """
    form = SignupForm()
    if form.validate_on_submit():
        existing_user = User.query.filter_by(email=form.email.data).first()
        if existing_user is None:
            user = User(name=form.name.data,
                        email=form.email.data,
                        phone_number=form.number.data)
            user.set_password(form.password.data)
            user.set_number(form.number.data)
            db.session.add(user)
            db.session.commit()  # Create new user
            login_user(user)  # Log in as newly created user
            return redirect(url_for('main_bp.dashboard'))
        flash('A user already exists with that email address.')
    return render_template('signup.jinja2',
                           title='Create an Account.',
                           form=form,
                           template='signup-page',
                           body="Sign up for a user account.")
Example #40
0
def show_signup_form():
    """The error variable is passed to the signup_form.html template. This variable contains an error message in case
    a user already exists. """
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = SignupForm()
    error = None
    if form.validate_on_submit():
        name = form.name.data
        email = form.email.data
        password = form.password.data
        # Check that there is no longer a user with that email
        user = User.get_by_email(email)
        if user is not None:
            error = f'The email  {email} is already being used by another user'
        else:
            # We create the user and save it
            user = User(name=name, email=email)
            user.set_password(password)
            user.save()
            # We leave the user logged in
            login_user(user, remember=True)
            next_page = request.args.get('next', None)
            if not next_page or url_parse(next_page).netloc != '':
                next_page = url_for('index')
            return redirect(next_page)
    return render_template("signup_form.html", form=form, error=error)
Example #41
0
def show_signup_form():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = SignupForm()
    error = None
    if form.validate_on_submit():
        fullname = form.fullname.data
        username = form.username.data
        email = form.email.data
        password = form.password.data
        # comprobamos que no hay ya un usuario con ese email
        user = User.get_by_email(email)
        if user is not None:
            error = f'El email {email} ya está siendo utilizado por otro usuario'
        else:
            user = User.get_by_username(username)
            if user is not None:
                error = f'El username {username} ya está siendo utilizado por otro usuario'
            else:
                # Creamos el usuario y lo guardamos
                user = User(fullname=fullname, username=username, email=email)
                user.set_password(password)
                user.save()
                # Dejamos al usuario logueado
                login_user(user, remember=True)
                next_page = request.args.get('next', None)
                if not next_page or url_parse(next_page).netloc != '':
                    print(password)
                    next_page = url_for(
                        'index')  #aqui deberia ir al home page del ussuario
                    return redirect(next_page)
    return render_template("signup_form.html", form=form, error=error)
Example #42
0
def setup():
    """Setup page, only accessible if no users exist"""
    # Try if database exists
    try:
        # If no user found in database, show form
        if db.session.query(User).count() < 1:
            form = SignupForm()
            # Passed form validation? continue
            if form.validate_on_submit():
                # Create user object and add it to database
                user = User(username = form.username.data, password = generate_password_hash(form.password.data), role = 3)
                db.session.add(user)
                db.session.commit()
                flash('Account created! You are now logged in!')
                # Log new user in
                login_user(user)
                return redirect(url_for('index'))
            return render_template('add.html', form = form)
        else:
            flash('Setup already completed.')
            return redirect(url_for('index'))
    # If not, let's create the database:
    except exc.OperationalError:
        db.create_all()
        return redirect(url_for('setup'))
Example #43
0
def signup():
	form = SignupForm()
	if form.validate_on_submit():
		return redirect(form.lfmURLGen())
		
	return render_template('base.html', 
		title='Sign Up',
		form=form)
Example #44
0
def signup():
		form = SignupForm()
		if form.validate_on_submit():
			flash('Registration successful.')
			return redirect('/')
		return render_template('base.html', 
													 title='Sign Up',
													 form=form)
Example #45
0
def signup_post():
	form = SignupForm()
	if form.validate_on_submit():
		user = models.User(nickname=form.nickname.data, password=form.password.data)
		db.session.add(user)
		db.session.commit()
		login_user(user)
		return redirect(url_for('home.index'))
	return render_template('login.html', title='Sign up', form=form), 400
Example #46
0
def signup():
    form = SignupForm()
    if form.validate_on_submit():
        new_user = User(form.username.data, form.email.data, form.password.data)
        db.session.add(new_user)
        db.session.commit()
        flash('Signed up successfully.', category='success')
        return redirect(url_for('index'))
    return render_template('signup.html', form=form)
Example #47
0
def signup():
	form = SignupForm()
	if form.validate_on_submit():
		newperson = Person(form.firstname.data, form.lastname.data, form.email.data, form.password.data)
		db.session.add(newperson)
		db.session.commit()
		session['email'] = newperson.email
		return redirect(url_for('dashboard'))
	return render_template('signup.html', form=form)
Example #48
0
def signup():
    if g.user is not None and g.user.is_authenticated():
        return redirect(url_for('index'))
    form = SignupForm()
    if form.validate_on_submit():
        return after_signup(request.form)
    return render_template('signup.html',
                           title='Sign Up',
                           form=form)
Example #49
0
def signup():
	form = SignupForm()
	if form.validate_on_submit():
		newuser = User(form.new_email_username.data, form.new_password.data, form.new_name.data)
		db.session.add(newuser)
		db.session.commit()
		login_user(newuser)
		return render_template('user_landing.html')
	return render_template('signup.html', form=form)
Example #50
0
def index():
    """landing page for users to enter emails"""
    form = SignupForm(request.form)
    if form.validate_on_submit():
        email = Email()
        form.populate_obj(email)
        db.session.add(email)
        db.session.commit()
        flash(u'Thank you for your interest!', 'success')
        return redirect(url_for('index'))
    return render_template('index.html', form=form)
Example #51
0
def signup():
    form = SignupForm()
    if form.validate_on_submit():
        user = models.User(email=form.email.data,
                           username=form.username.data,
                           password=form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Welcome, {}! Please login.'.format(user.username))
        return redirect(url_for('login'))
    return render_template('signup.html', form=form)
Example #52
0
def signup():
    default_role = 200
    form = SignupForm()
    if form.validate_on_submit():
        account = User(form.username.data, form.password.data,
                    form.email.data, form.displayname.data, default_role)
        db.session.add(account)
        db.session.commit()
        flash(_('Account added'))
        return redirect(url_for('authentification.login'))
    return render_template('signup.html', form=form)
Example #53
0
def signup():
    """Register page. Only admin/moderator can create new users"""
    form = SignupForm()
    # Form validation passed? Add new user.
    if form.validate_on_submit():
        user = User(username = form.username.data, password = generate_password_hash(form.password.data), role = 1)
        db.session.add(user)
        db.session.commit()
        flash('Account created!')
        login_user(user)
        return redirect(url_for('school_index'))
    return render_template('school/signup.html', form = form)
Example #54
0
def signup():
    form = SignupForm()
    if form.validate_on_submit():
        user = User(fullname = form.fullname.data,
                    email=form.email.data,
                    username=form.username.data,
                    password=form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('You have successfully signed up! You may now login.')
        return redirect(url_for('auth.login'))
    return render_template('auth/signup.html', form=form, title="Sign Up")
Example #55
0
def register():
    form = SignupForm()
    if form.validate_on_submit():
      user = Users(
          form.username.data,
          form.password.data,
          form.email.data,
      )
      db.session.add(user)
      db.session.commit()
      return redirect(url_for('dashboard'))
    return render_template('general/register.html', form=form)
Example #56
0
def register():
    form = SignupForm()
    if form.validate_on_submit():
        user = Users(form.username.data, form.password.data, form.email.data, 1)
        db.session.add(user)
        db.session.commit()
        confirm_user(form.username.data, form.email.data)
        flash(u"Check your email to activate your account.")
        return redirect(url_for("index"))

    flash(u"Create your flaskCamel account")
    return render_template("register.html", form=form)
Example #57
0
def intern_signup():
    """Register page """
    form = SignupForm()
    # Form validation passed? Add new user.
    if form.validate_on_submit():
        user = User(username = form.username.data, password = generate_password_hash(form.password.data), role = 0)
        db.session.add(user)
        db.session.commit()
        flash('Account created!')
        #login_user(user)
        return redirect(url_for('intern_login'))
    return render_template('intern/signup.html', form = form)
Example #58
0
def signup():
	if current_user.is_authenticated:
		return redirect('/')
	form = SignupForm()
	if form.validate_on_submit():
		user = User(username=form.username.data,password = form.password.data)
		db.session.add(user)
		db.session.commit()
		login_user(user)
		flash('Welcome, {}!'.format(user.username))
		return redirect('/'+user.username)
	return render_template("signup.html", form=form, activesignup='active')
Example #59
0
def NewUser():
    form = SignupForm()
    if form.validate_on_submit():
        #this executes if button is clicked (both Username and password are required)

        #this try/catch checks if the username is already in database.
        try:
            db = MySQLdb.connect(host="mysql.server", user="******", passwd="final1", db="FInalBoss$default")
            cur = db.cursor()
            cur.execute('SELECT * from tblUsers where UserName ="******";')
            for row in cur.fetchall():
                print "Returned rows in tblUsers:"
                print row
                if row:
                    #Authentication Fail
                    flash('Username is already in database. Please choose another.')
                    return redirect('/NewUser')
        except (AttributeError, MySQLdb.OperationalError):
            print "Database Exception Error has occurred (Validating username)"
            flash("Database error")
            return redirect('/NewUser')
        finally:
            print "Database connection has closed via Finally (Validating username)"
            db.close()

        #Authentication Succesful

        print "Attempting to sign up using UserName: "******"Attempting to sign up using Password: "******"mysql.server", user="******", passwd="final1", db="FInalBoss$default")
            #db.autocommit(True)
            cur = db.cursor()
            cur.execute('Insert Into tblUsers Values("' + form.SignupUserName.data + '","' + form.SignupPassword.data + '");')
            db.commit()
        except (AttributeError, MySQLdb.OperationalError):
            print "Database Exception Error has occurred (Insertion query)"
            flash("Database error")
            return redirect('/NewUser')
        finally:
            print "Database connection has closed via Finally (Insertion query)"
            db.close()
        print "New User Has Succesfully Signed Up"

        return redirect('/login')


    return render_template('NewUser.html',
        title = 'Sign Up',
        form = form,
        providers = app.config['OPENID_PROVIDERS'])
Example #60
0
def signup():
    """
        Signup, creates a new user
        if the session is logged in return to index
        when form is valided if the passwords match and the password length is
        greater than 8 characters then create the password hash
        if it is not the throw errors

        try to create the user object and catch all expected erropasswordrs.
    """
    form = SignupForm()

    error = None

    if session.get('logged_in'):
        return redirect(url_for('index'))

    if form.validate_on_submit():
        if len(app.config.get("EMAIL_DOMAINS")) > 0:
            if not any(x in form.email.data for x in app.config.get("EMAIL_DOMAINS")):
                return render_template('signup.html', form = form, err = app.config.get("BAD_DOMAIN_MSG")), 400
            elif form.password.data == form.password2.data and len(form.password.data) >= 8:
                pw_hash = generate_password_hash(form.password.data)
                try:
                    user = User(email = form.email.data.lower(), alias = form.alias.data, password = pw_hash, color="#"+str(uuid.uuid4())[:6])
                    code = str(uuid.uuid4())
                    user.emailVerifyKey = code
                    if len(User.objects) == 0:
                        user.isMod = True
                        user.isJudge = True
                    msg = Message("Hello",
                        sender="*****@*****.**",
                        recipients=[form.email.data.lower()])
                    msg.body = url_for("verifyemail", code=code)
                    msg.html = "<a href='http://"+app.config.get('DOMAIN')+url_for("verifyemail", code=code)+"'>Verify Here</a>"
                    mail.send(msg)
                    user.save()
                    return render_template("signupLanding.html")
                        #error = "Email not correct"
                except ValidationError:
                    error = 'Email is not an email'
                except errors.NotUniqueError:
                    error = 'Email or username is already in use'
                except:
                    error = "Other Stupid Error"#is this for smtplib.SMTPAuthenticationError
            else:
                if len(form.password.data) < 8:
                    error = 'Password too short'
                else:
                    error = 'Passwords do not match'
    
    return render_template('signup.html', form = form, err = error)