Esempio n. 1
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationForm()
    db.create_all()

    def Key_api_generator():
        key_api = secrets.token_hex(16).encode('utf-8')
        return key_api

    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_password,
                    key_api=Key_api_generator())
        db.session.add(user)
        db.session.commit()
        flash(
            'Your account has been created! You are now able to log in! An Account KEY  is sent to your email',
            'success')
        path = 'webapp/trained_img/' + user.username
        os.mkdir(path)
        user1 = user.username

        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
Esempio n. 2
0
def register():
    """Register user"""
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))

    form = RegistrationForm()
    if form.validate_on_submit():

        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')

        if not form.cash.data:
            cash = 0.00
        else:
            cash = form.cash.data

        user = User(first_name=form.first_name.data,
                    last_name=form.last_name.data,
                    username=form.username.data,
                    email=form.email.data,
                    password=hashed_password,
                    starting_cash=form.cash.data,
                    cash=cash)

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

        # Redirect user to home page
        flash(f'Account created for {form.username.data}!', 'success')
        return redirect(url_for("main.index"))
    return render_template('register.html', title='Register', form=form)
Esempio n. 3
0
 def __init__(self, email, password, admin=False):
     self.email = email
     self.password = bcrypt.generate_password_hash(
         password,
         current_app.config.get("BCRYPT_LOG_ROUNDS")).decode("utf-8")
     self.registered_on = datetime.datetime.now()
     self.admin = admin
Esempio n. 4
0
 def __init__(self, username, password, role):
     self.username = username
     self.password = bcrypt.generate_password_hash(password)
     if role == None:
         self.role = "None"
     else:
         self.role = role
Esempio n. 5
0
def setup():
    form = SetupForm()
    error = ""
    if form.validate_on_submit():
        author = Author(
                form.fullname.data,
                form.email.data,
                form.username.data,
                bcrypt.generate_password_hash(form.password.data),
                True
            )
        db.session.add(author)
        db.session.flush()
        if author.id:
            blog = Blog(
                    form.name.data,
                    author.id
                )
            db.session.add(blog)
            db.session.flush()
            if author.id and blog.id:
                db.session.commit()
                flash("Blog created")
                return redirect(url_for("index"))
            else:
                error = "Error creating blog"
                db.session.rollback()
        else:
            error = "Error creating author"
            db.session.rollback()
    return render_template("blog/setup.html", form=form, error=error)
Esempio n. 6
0
def demo_user():
    from models import User
    user = User.query.filter(User._username=='demo').first()
    if user is None:
        user = User('demo', bcrypt.generate_password_hash('demo'), '*****@*****.**')
        db.session.add(user)
        db.session.commit()
    return user
Esempio n. 7
0
def register_user():
    form = RegisterUser()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user = User(username = form.username.data, email = form.email.data, password = hashed_password)
        db.session.add(user)
        db.session.commit()
    return render_template('register_user.html', title = 'Register User', form = form)
Esempio n. 8
0
def setup_webapp_db():
    from webapp import db, bcrypt, User, Project
    # from webapp.models import User, Project
    print('Building webapp database...')
    hashed_password = bcrypt.generate_password_hash("genomics").decode('utf-8')
    db.create_all()
    db.session.add(User(username = "******", email = "*****@*****.**", password = hashed_password))
    db.session.commit()
    db.session.close()
Esempio n. 9
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_pass = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        new_user = User(first_name=form.firstname.data, last_name=form.lastname.data, email=form.email.data, password=hashed_pass)
        db.session.add(new_user)
        db.session.commit()
        return redirect(url_for("main.login"))
    return render_template('register.html', form=form)
Esempio n. 10
0
def register():
    if current_user.is_authenticated: ## DEBUG: doens't work # TODO: if logged in redirect to home
        return redirect(url_for('home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8') # hashes entered password
        user = User(username=form.username.data, email=form.email.data, password=hashed_password) # create user instance with input from form
        db.session.add(user)
        db.session.commit() # adds user to database
        flash(f'Account created for {form.username.data}!', 'success')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
Esempio n. 11
0
def account():
    form = Form_Update_Password()
    if form.validate_on_submit():
        if bcrypt.check_password_hash(current_user.password, form.current_password.data):
            pw = form.new_password.data.encode('utf-8')
            current_user.password = bcrypt.generate_password_hash(pw).decode('utf-8')
            db.session.commit()

            flash('The password has been changed!', 'success')
            return redirect(request.args.get('next', url_for('main.boards')))
        else:
            flash('The password hasn\'t been changed!', 'danger')
    return render_template('account.html', title='Account', form=form)
Esempio n. 12
0
def reset_token(token):
    user = User.verify_reset_token(token)
    if not user:
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash('Your password has been updated! You can now log in', 'success')
        return redirect(url_for('login'))
    return render_template('reset_token.html', title = 'Reset Password', form = form)
Esempio n. 13
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for("home"))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode("utf-8")
        user = User(email=form.email.data, password=hashed_password)
        user.add()

        flash("Your account has been created! You are now able to log in",
              "success")
        return redirect(url_for("login"))
    return render_template("register.html", title="Register", form=form)
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(email=form.email.data, password=hashed_password)

        user.add()

        flash('Your account has been created! You are now able to log in', 'success')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
Esempio n. 15
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('main.boards'))

    form = Form_Registration()
    if form.validate_on_submit():
        pw = form.password.data.encode('utf-8')
        user = User(email=form.email.data, password=bcrypt.generate_password_hash(pw).decode('utf-8'))
        db.session.add(user)
        db.session.commit()

        flash('Your account has been created!', 'success')
        return redirect(url_for('users.login'))
    return render_template('register.html', title='Register', form=form)
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash(f'Your Account has been created!', 'success')
        return redirect(url_for('home'))
    return render_template('register.html', title='Register', form=form)
Esempio n. 17
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_pw = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(username=form.username.data,
                    password_hash=hashed_pw,
                    email=form.email.data,
                    admin=False).save()
        flash('Account for ' + form.username.data + ' created successfully!',
              'success')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
Esempio n. 18
0
def signup():
    form = RegisterForm()

    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(form.password.data)
        user = User(username=form.username.data, password=hashed_password)
        db.session.add(user)
        try:
            db.session.commit()
            flash("account created for {0}!".format(form.username.data),
                  "success")
            return redirect(url_for("login"))
        except IntegrityError:
            db.session.rollback()
            flash("that username is already in use")
            return redirect(url_for('signup'))
    return render_template("signup.html", form=form)
Esempio n. 19
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for("home"))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode("utf-8")
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash(f"Account created for {form.username.data}! You were logged in!",
              "success")
        login_user(user)
        next_page = request.args.get("next")
        return redirect(next_page) if next_page else redirect(url_for("home"))
    return render_template("register.html", form=form)
Esempio n. 20
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    user = User.verify_reset_token(token)
    if user is None:
        flash('That is an invalid or expired token', 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash('Your password has been updated! You are now able to log in',
              'success')
        return redirect(url_for('users.login'))
    return render_template('users/reset_token.html',
                           title='Reset Password',
                           form=form)
Esempio n. 21
0
def changePassword():
    error = None
    form = ChangePasswordForm(request.form)
    if request.method == 'POST' and form.validate():
        old = form.old.data
        new = form.new.data
        repeated = form.repeated.data
        user = User.query.filter_by(username=current_user.username).first()
        if old and new and repeated and user:
            if new == repeated and not bcrypt.check_password_hash(user.password, new):
                new_crypted = bcrypt.generate_password_hash(new)
                user.password = new_crypted
                db.session.commit()
                flash('Successful: Changed password for user %s' % (user.username), )
            else:
                flash('New password and repeated password are not the same or new password equals the old one.')
        else:
            flash('You havent filled out all required fields.')
    return render_template('password.html', form=form, error=error)
Esempio n. 22
0
def register():
	# register our form
	form = RegisterForm(request.form)

	# check to see if a user is already registered in db
	# if user/pass pair is lost/forgotten use resetdb.sh
	if db.session.query(User).first():
		return redirect(url_for('.login'))

	# if we have a valid form, handle registration
	if form.validate_on_submit():
		user = User()
		form.populate_obj(user)
		user.password = bcrypt.generate_password_hash(user.password)
		db.session.add(user)
		db.session.commit()
		login_user(user)
		return redirect(url_for("configure.configure"))
	
	return render_template("users/register.html", form=form)
Esempio n. 23
0
def register():
    # register our form
    form = RegisterForm(request.form)

    # check to see if a user is already registered in db
    # if user/pass pair is lost/forgotten use resetdb.sh
    if db.session.query(User).first():
        return redirect(url_for('.login'))

    # if we have a valid form, handle registration
    if form.validate_on_submit():
        user = User()
        form.populate_obj(user)
        user.password = bcrypt.generate_password_hash(user.password)
        db.session.add(user)
        db.session.commit()
        login_user(user)
        return redirect(url_for("configure.configure"))

    return render_template("users/register.html", form=form)
Esempio n. 24
0
def register():
    if current_user.is_authenticated:
        flash('You are already logged in', 'success')
        return redirect(url_for('home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        # hash the pw
        hashed_pw = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        # crewate user
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_pw)
        # add user to DataBase
        db.session.add(user)
        db.session.commit()

        flash('Your account has been created, you may now log in', 'success')
        return redirect(url_for('login'))  #function name
    return render_template('register.html', title='Register', form=form)
Esempio n. 25
0
def password_reset(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.board'))

    user = User.verify_reset_token(token)
    if user is None:
        flash('The token is either invalid or expired.', 'warning')
        return redirect(url_for('users.request_password_reset'))

    form = Form_Password_Reset()
    if form.validate_on_submit():
        pw = form.password.data.encode('utf-8')
        user.password = bcrypt.generate_password_hash(pw).decode('utf-8')
        db.session.commit()

        flash('Your password has been updated!', 'success')
        return redirect(url_for('users.login'))
    return render_template('password_reset.html',
                           title='Reset Password',
                           form=form)
Esempio n. 26
0
def reset_token(token):
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    user = User.verify_reset_token(token)
    if user is None:
        flash(
            get_response_message('users', 'reset', 'failure'
                                 'invalid_email'), 'warning')
        return redirect(url_for('users.reset_request'))
    form = ResetPasswordForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user.password = hashed_password
        db.session.commit()
        flash(
            get_response_message('users', 'reset', 'success',
                                 'password_updated'), 'success')
        return redirect(url_for('users.login'))
    return render_template('reset_token.html',
                           title='Reset Password',
                           form=form)
Esempio n. 27
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationForm()  #instanciating form class created in forms.py
    if form.validate_on_submit():  #to know if the account is created or not
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')  #hashing the password
        user = User(
            username=form.username.data,
            email=form.email.data,
            password=hashed_password,
            points=0
        )  #Creating a User instaciation who contain information enter in the form variable
        db.session.add(
            user)  #Adding the user to be ready to be commit in the database
        db.session.commit()  #Add the data to the database
        flash(
            'Your account has been created! You are now able to log in',
            'success'
        )  #if the form is correctly validate then show this message "account created..."
        return redirect(url_for('login'))  #and redirect to home page
    return render_template('register.html', title='Register', form=form)
Esempio n. 28
0
def gettingstarted():
    if current_user.is_authenticated:
        return redirect(url_for("groceryLists"))

    rform = RegistrationForm()
    lform = LoginForm()

    if rform.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            rform.password.data).decode("utf-8")
        print(rform.password.data, type(rform.password.data))
        user = User(username=rform.username.data,
                    email=rform.email.data,
                    password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash(
            f"Account created for {rform.username.data}! You were logged in!",
            "success")
        login_user(user)
        next_page = request.args.get("next")
        return redirect(next_page) if next_page else redirect(
            url_for("groceryLists"))

    if lform.validate_on_submit():
        user = User.query.filter_by(email=lform.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               lform.password.data):
            login_user(user)
            next_page = request.args.get("next")
            return redirect(next_page) if next_page else redirect(
                url_for("groceryLists"))
        else:
            flash("Login unsuccessful. Please check username and password",
                  "danger")

    return render_template("gettingstarted.html", rform=rform, lform=lform)
Esempio n. 29
0
 def _hash_password(password: str):
     return bcrypt.generate_password_hash(password, rounds=10).decode(
         "utf-8"
     )
from webapp import db, bcrypt
from webapp.modules import User, GroceryList
import os
import numpy as np
#user1 = User.query.filter_by(id=1).first()
for j in range(1, 20):
    file = open(os.getcwd() + "/webapp/precommender/testdata/gu_" + str(j) +
                ".txt")
    stri = file.read()
    lists = stri.split("\n")
    features = lists[0].split(",")
    gr_lists = [[int(float(a)) for a in l.split(",")] for l in lists[1:]]
    hashed_pw = bcrypt.generate_password_hash("SampleUser" +
                                              str(j)).decode("utf-8")
    user1 = User(username="******" + str(j),
                 password=hashed_pw,
                 email="sample@user" + str(j) + ".com",
                 no_lists=len(gr_lists))
    db.session.add(user1)
    filename = os.getcwd(
    ) + "/webapp/" + "allproducts2.txt"  #may not work for windows
    with open(filename, "r") as file2:
        f2 = file2.read()
        products = f2.split("\n")

    for i, l in enumerate(gr_lists):
        items = ""
        cnt = 0
        for k, f in enumerate(products):
            if f in [st[0] + st[1:].lower()
                     for st in features] and 1 == gr_lists[i][[
def account2(username):
    user = User.query.filter_by(username=username).first()
    if user is not None and user.type == False:  # if it is company #check if details is completed
        ads = user.company_details.advertisements
        ads_sorted = sorted(ads, key=lambda x: x.date_posted, reverse=True)
        img_data = user.company_details.img
        business_keywords = get_business_keywords(user)

        editform = CompanyEditForm()

        if request.method == 'POST':
            if editform.validate_on_submit():
                # Only current user can do editing, so I am changing currentuser.
                hashed_password = bcrypt.generate_password_hash(
                    editform.password.data).decode('utf-8')
                current_user.username = editform.username.data
                current_user.email = editform.email.data
                current_user.company_details.name = editform.name.data
                current_user.company_details.description = editform.description.data
                current_user.company_details.address = editform.address.data
                current_user.company_details.linkedin = editform.linkedin.data
                current_user.company_details.github = editform.github.data
                current_user.company_details.website = editform.website.data
                current_user.company_details.numberofworkers = editform.numberofworkers.data
                interests = get_interests(editform.sector.data,
                                          current_user.company_details.id)

                if interests and len(interests) > 0:
                    if len(current_user.company_details.interests) > 0:
                        current_user.company_details.interests.extend(
                            interests)
                    else:
                        current_user.company_details.interests = interests

                #get image
                image = editform.image.data
                if image:
                    filename = secure_filename(image.filename)
                    mimetype = image.mimetype

                    current_user.company_details.img = b64encode(
                        image.read()).decode("utf-8")
                    current_user.company_details.imgname = filename
                    current_user.company_details.mimetype = mimetype

                try:
                    db.session.add(current_user)
                    db.session.commit()
                except AssertionError as err:
                    db.session.rollback()
                    print("rollback")

                ads = current_user.company_details.advertisements
                ads_sorted = sorted(ads,
                                    key=lambda x: x.date_posted,
                                    reverse=True)
                img_data = current_user.company_details.img
                return render_template('account_company.html',
                                       user=current_user,
                                       ads=ads_sorted,
                                       form=editform,
                                       formerror=False,
                                       img_data=img_data,
                                       business_keywords=business_keywords)
            else:

                return render_template('account_company.html',
                                       user=user,
                                       ads=ads_sorted,
                                       form=editform,
                                       formerror=True,
                                       img_data=img_data,
                                       business_keywords=business_keywords)

        return render_template('account_company.html',
                               user=user,
                               ads=ads_sorted,
                               form=editform,
                               formerror=False,
                               img_data=img_data,
                               business_keywords=business_keywords)
    else:
        abort(404, description="Resource not found")
        return render_template('404.html')