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