def register(): """Provides registering for user""" # if register form is submitted form = RegisterForm(request.form) # verify the register form if form.validate_on_submit(): # create user and add to database user = User( username=form.username.data, password=generate_password_hash(form.password.data), email=form.email.data ) db.session.add(user) db.session.commit() # sending email token = generate_confirmation_token(user.email) confirm_url = url_for('users.confirm_email', token=token, _external=True) html = render_template('users/activate.html', confirm_url=confirm_url) subject = gettext(u"Please confirm your email") send_email(user.email, subject, html) #login_user(user) # everything okay so far flash(gettext(u'Confirmation email has been sent'), 'info') return redirect(url_for('users.login')) return render_template('users/register.html', form=form)
def registeruser(): """ Build the view used to add new accounts """ form = RegisterForm() if form.validate_on_submit(): try: user = Users(username=form.username.data, email=form.email.data, specialties=form.specialties.data.split(','), interests=form.interests.data.split(',')) user.password = form.password.data user.save() token = user.generate_confirmation_token() send_email(user.email, 'Confirmare email', 'users/email/confirm', user=user, token=token) flash( 'Contul a fost adaugat! Va rugam confirmati adresa de email!', category='alert-success') except Exception as err: flash('Contul nu poate fi creat!', category='alert-warning') return redirect(url_for('users.login')) return render_template('users/login.html', pagetitle='Inregistrare', form=form, login=False)
def register(): form = RegisterForm() if form.validate_on_submit(): user = User.query.filter( or_(User.mobile_phone == form.login.data, func.lower(User.email) == func.lower( form.login.data))).first() if not user: hashed_password = bcrypt.generate_password_hash( form.password.data).decode('utf-8') user = User(password=hashed_password, is_active=True, user_confirmed_at=datetime.utcnow()) if form.is_phone_login: user.mobile_phone = form.login.data else: user.email = form.login.data db.session.add(user) db.session.commit() login_user(user, remember=False) flash( f'Your account was successfully created and you have been logged in.', 'success') return redirect(url_for('users.profile')) else: flash('A user with that login already exists', 'danger') return render_template('register.html', form=form)
def register(): form = RegisterForm(request.form) if form.validate_on_submit(): userRegistered = User.query.filter(or_(User.name == form.name.data,\ User.email == form.email.data)).first() if userRegistered is not None: flash('Email or user already is registered') return render_template('users/register.html', form=form) # create an user instance not yet stored in the database user = User.CreateUser(form.name.data, form.email.data,\ generate_password_hash(form.password.data),\ form.receive_email_notification.data) # insert the record in our database and commit it db.session.add(user) db.session.commit() # log the user in, as he now has an id session[SESSION_NAME_USER_ID] = user.id # flash will display a message to the user flash('Thanks for registering') # redirect user to the 'index' method of the user module return redirect(url_for('users.index')) return render_template('users/register.html', form=form)
def register(): """ Registration Form """ form = RegisterForm(request.form) if form.validate_on_submit(): # create an user instance not yet stored in the database user = User(name=form.name.data, email=form.email.data, \ password=generate_password_hash(form.password.data)) # Insert the record in our database and commit it db.session.add(user) db.session.commit() # Log the user in, as he now has an id session['user_id'] = user.id # flash will display a message to the user flash('Thanks for registering') # redirect user to the 'home' method of the user module. return redirect(url_for('users.home')) return render_template("users/register.html", form=form)
def adduser(): """ Build the view used to add new accounts """ form = RegisterForm() if form.validate_on_submit(): try: user = Users(username=form.username.data, email=form.email.data, specialties=form.specialties.data.split(','), interests=form.interests.data.split(',')) user.password = form.password.data user.save() token = user.generate_confirmation_token() send_email(user.email, 'Confirmare email', 'users/email/confirm', user=user, token=token) flash('Contul a fost adaugat!', category='alert-success') except Exception as err: flash('Utilizatorul are deja cont!', category='alert-warning') return redirect(url_for('users.list')) return render_template('users/add.html', pagetitle='Adauga utilizator', form=form)
def register(): # define login form here form = RegisterForm() msg = None if form.validate_on_submit(): hashed_password = bcrypt.generate_password_hash( form.password.data).decode('utf-8') user = User(username=form.username.data, password=hashed_password, firstName=form.firstName.data, email=form.email.data, lastName=form.lastName.data, about=form.about.data, image_file=form.picture.data) user.save() msg = 'User created, please <a href="' + url_for( 'users.login') + '">login</a>' return render_template('pages/register.html', title='Register', form=form, msg=msg)
def register(): errors = [] form = RegisterForm(request.form) if form.validate_on_submit(): login_taken = db.session.query( exists().where(User.nickname == form.nickname.data)).scalar() email_taken = db.session.query( exists().where(User.email == form.email.data)).scalar() if login_taken or email_taken: if login_taken: errors.append( u'Nickname already taken. Please try another one') if email_taken: errors.append( u'E-mail already registered. Please try another one') else: user = User(form.nickname.data, form.password.data, form.email.data) db.session.add(user) db.session.commit() login_user(user) return redirect(url_for('users.home')) return render_template('users/register.html', form=form, errors=errors)
def register(): """ Registration Form """ form = RegisterForm(request.form) if form.validate_on_submit(): # create an user instance not yet stored in the database user = User(username=form.name.data, email=form.email.data, password=generate_password_hash(form.password.data) ) #current_user=True) # Insert the record in our database and commit it try: user.save() except errors.NotUniqueError: return render_template("users/register.html", form=form, duplicate=True, user=None) except: raise # Log the user in, as he now has an id session['user_id'] = str(user.id) session['user'] = user.username print "session user_id: %s" % (str(user.id)) # flash will display a message to the user #flash('Thanks for registering') # redirect user to the 'home' method of the user module. return redirect(url_for('users.home')) return render_template("users/register.html", form=form, user=None)
def register(): """ Registration Form for register new account """ if current_user.is_authenticated: return redirect(url_for('users.login_redirect')) form = RegisterForm(request.form) if form.validate_on_submit(): # check whether if there is user with the same username/email user = User.query.filter( or_(User.username == form.username.data, User.email == form.email.data)).first() if not user: # create an user instance not yet stored in the database user = User(form.email.data, username=form.username.data, first_name=form.first_name.data, last_name=form.last_name.data, password=generate_password_hash(form.password.data)) # Insert the record in our database and commit it db.session.add(user) db.session.commit() # Log the user in, as he now has an id login_user(user) # redirect user to the 'home' method of the user module. return redirect(url_for('users.login_redirect')) flash('Username or email is taken.') return render_template("users/register.html", form=form)
def register(): """ Registration Form """ form = RegisterForm(request.form) if form.validate_on_submit(): # create an user instance not yet stored in the database # check if email exists try: exists = db.session.query(User).filter( User.email == form.email.data).first() if exists: flash( gettext(u'User with this e-mail was registered already.' u' If you forgot your password click ' + u'<a href="%s">remind password</a>' % url_for('users.forgot'))) # redirect user to the 'home' method of the user module. return redirect(url_for('users.register')) except Exception as e: current_app.logger.exception(e) alias = ''.join(e for e in form.name.data if e.isalnum()) try: alias_exists = db.session.query(User).filter( User.alias == alias).one() except Exception as e: current_app.logger.exception(e) alias_exists = None if alias_exists: alias = hashlib.md5(form.email.data).hexdigest() user = User(name=form.name.data, email=form.email.data, alias=alias, password=generate_password_hash(form.password.data)) # Insert the record in our database and commit it db.session.add(user) db.session.flush() # Log the user in, as he now has an id authorize(user) try: os.mkdir(os.path.join(UPLOAD_FOLDER, str(user.id)), 0775) except OSError as e: current_app.logger.exception(e) db.session.commit() # flash will display a message to the user flash(gettext(u'Thanks for registering')) # redirect user to the 'home' method of the user module. return redirect(url_for('users.home')) return render_template('users/register.html', form=form)
def register(): if current_user.is_authenticated: return redirect(url_for('main.home')) form = RegisterForm() 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.lower(), password=hashed_password, accesscode=generate_unique_accesscode(), ign=re.sub(r'[^a-zA-Z0-9]', '', form.username.data).upper()[:12]) # ign needs to be fixed ASAP it's a major flaw db.session.add(user) db.session.commit() flash(f'Hello, {form.username.data}! You may now log in!', 'success') return redirect(url_for('users.login')) return render_template('register.html', title='Register', form=form)
def register(): form = RegisterForm(request.form) if form.validate_on_submit(): user = User(name=form.name.data, email=form.email.data, \ password=generate_password_hash(form.password.data)) db.session.add(user) db.session.commit() session['user_id'] = user.id flash('Thanks for registering') return redirect(url_for('users.home')) return render_template("users/register.html", form=form)
def register(): # define login form here form = RegisterForm(request.form) msg = None # custommize your pate title / description here title = 'Register an account - ipNX vCPE' description = 'Online ipNX virtual Customer Premises Equipment.' # check if both http method is POST and form is valid on submit if form.validate_on_submit(): # assign form data to variables username = request.form.get('username', '', type=str) password = request.form.get('password', '', type=str) name = request.form.get('name', '', type=str) email = request.form.get('email', '', type=str) # filter User out of database through username user = User.query.filter_by(user=username).first() # filter User out of database through username user_by_email = User.query.filter_by(email=email).first() if user: msg = 'Username exists!' elif user_by_email: msg = 'The emaill entered already has an account. Choose another one.' else: pw_hash = bcrypt.generate_password_hash(password) user = User(username, pw_hash, name, email) user.save() msg = flash('Your account has been created. You can now login.', 'success') return redirect(url_for('users.login')) # try to match the pages defined in -> themes/light-bootstrap/pages/ return render_template('layouts/default.html', title=title, content=render_template('pages/register.html', form=form, msg=msg))
def register(): """Users list :return: flask.render_template """ form = RegisterForm() if form.validate_on_submit(): Users.create_user( username=form.username.data, email=form.email.data, password=form.password.data ) message = '{} has been created.'.format(form.username.data) return render_template('modal_success.html', message=message) return render_template('users/register.html', form=form)
def register(): if current_user.is_authenticated: return redirect(url_for('main.home')) form = RegisterForm() 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'Hello, {form.username.data}! You may now log in!', 'success') return redirect(url_for('users.login')) return render_template('register.html', title='Register', form=form)
def register(): error = None form = RegisterForm(request.form, csrf_enabled=False) if form.validate_on_submit(): new_user = User(form.name.data,form.email.data,form.password.data,) try: db.session.add(new_user) db.session.commit() flash('Thanks for registering. Please login.') return redirect(url_for('.login')) except IntegrityError: error = 'Oh no! That username and/or email already exist.Please try again.' else: flash_errors(form) return render_template('/users/register.html', form=form, error=error)
def register(): """ Registration Form """ form = RegisterForm(request.form) if form.validate_on_submit(): user = User(form.name.data, form.email.data, \ generate_password_hash(form.password.data),form.gender.data) db.session.add(user) db.session.commit() session['user_id'] = user.id flash('Thanks for registering') return redirect(url_for('feed.home')) return render_template("users/register.html", form=form)
def register(): form = RegisterForm(request.form) if form.validate_on_submit(): print form.name.data print form.email.data user = User(name=form.name.data, email=form.email.data, password=generate_password_hash(form.password.data)) db.session.add(user) db.session.commit() session['user_id'] = user.id flash('Thanks for registering') return redirect(url_for('users.home')) return render_template("users/register.html", form=form)
def signup(): form = RegisterForm(request.form) if form.validate_on_submit(): user = User.query.filter_by(email=form.email.data).first() if user: # if a user is found, we want to redirect back to signup page so user can try again flash('Email address already exists') return redirect(url_for('auth.signup')) # create new user with the form data. Hash the password so plaintext version isn't saved. new_user = User(email=form.email.data, name=form.name.data, password=generate_password_hash(form.password.data, method='sha256')) # add the new user to the database db.session.add(new_user) db.session.commit() return redirect(url_for('auth.login')) return render_template('auth/sign_up.html', form=form)
def adduser(): """ Build the view used to add new accounts """ form = RegisterForm() if form.validate_on_submit(): try: user = Users(username=form.username.data,email=form.email.data,specialties=form.specialties.data.split(','),interests=form.interests.data.split(',')) user.password = form.password.data user.save() token = user.generate_confirmation_token() send_email(user.email,'Confirmare email','users/email/confirm',user=user,token=token) flash('Contul a fost adaugat!', category='alert-success') except Exception as err: flash('Utilizatorul are deja cont!', category='alert-warning') return redirect(url_for('users.list')) return render_template('users/add.html',pagetitle='Adauga utilizator',form=form)
def registeruser(): """ Build the view used to add new accounts """ form = RegisterForm() if form.validate_on_submit(): try: user = Users(username=form.username.data,email=form.email.data,specialties=form.specialties.data.split(','),interests=form.interests.data.split(',')) user.password = form.password.data user.save() token = user.generate_confirmation_token() send_email(user.email,'Confirmare email','users/email/confirm',user=user,token=token) flash('Contul a fost adaugat! Va rugam confirmati adresa de email!', category='alert-success') except Exception as err: flash('Contul nu poate fi creat!', category='alert-warning') return redirect(url_for('users.login')) return render_template('users/login.html',pagetitle='Inregistrare',form=form,login=False)
def register(): if current_user.is_authenticated: return redirect(url_for('main.home')) form_obj = RegisterForm() if form_obj.validate_on_submit(): print('dafsdfa') hashed_pwd = bcrypt.generate_password_hash( form_obj.password.data).decode('utf-8') user = Customer(phone=form_obj.phone.data, username=form_obj.username.data, password=hashed_pwd) db.session.add(user) db.session.commit() flash(f'Account has been created successfully.You can log in now', 'success') return redirect(url_for('users.login')) return render_template('register.html', title='register', form=form_obj)
def register(): reg_form = RegisterForm(meta={'csrf': False}) if reg_form.validate_on_submit(): username: str = reg_form.username.data password: str = reg_form.password.data first_name: str = reg_form.first_name.data second_name: str = reg_form.second_name.data email: str = reg_form.email.data exit_username: Union[User, None] = User.get(username=username) exit_email: Union[User, None] = User.get(email=email) if exit_username: flash( f'Username \'{username}\' is already taken, choose another one' ) current_app.logger.warning( f'trying to use an existing username \'{username}\'') return redirect(url_for('.register')) elif exit_email: flash(f'email \'{email}\' is already taken, choose another one') current_app.logger.warning( f'trying to use an existing email \'{email}\'') return redirect(url_for('.register')) else: # create instance of User user = User(username=username, password=password, first_name=first_name, second_name=second_name, email=email, last_login=datetime.now()) user.set_hash_password(password) current_app.logger.info(f'add a new user \'{user.username}\'.') flush() login_user(user) current_app.logger.info( f'user \'{user.username}\' logged in {user.last_login}.') flash('Successfully registered') return redirect(url_for('homepage')) else: return render_template('users/register.html', contact=reg_form)
def register(): form = RegisterForm(request.form) if form.validate_on_submit(): existing_user = User.query.filter_by(email=form.email.data).first() if existing_user: form.email.errors = (_('This email is already taken'),) elif not allow_password(form.password.data): form.password.errors = (_( 'Your password must contain at least 8 ' '(printable) characters.' ),) else: user = User( email=form.email.data, password=generate_password_hash(form.password.data), name=form.name.data, ) user.set_geo_from_ip(request.remote_addr) user.locale = request.accept_languages.best_match( app.config['LANGUAGES'] ) db.session.add(user) db.session.commit() login_user(user, remember=True) send_confirmation_email(user) flash(_('An email has been sent to you with a confirmation link. ' 'Please login to your email at your convenience ' 'and click the link to finish registration.')) return redirect(url_for('home')) return render_template('users/register.html', form=form)
def register(): form = RegisterForm(request.form) if form.validate_on_submit(): check_user = User.query.filter_by(email=form.email.data).first() if check_user: flash('A user with email %s already exists.' % form.email.data, "unique-user") else: user = User(name=form.name.data, email=form.email.data, \ password=generate_password_hash(form.password.data)) db.session.add(user) db.session.commit() session['user_id'] = user.id flash('Thanks for registering') first_list = ExpenseList(user_id=session['user_id'], list_name="new") db.session.add(first_list) db.session.commit() return redirect(url_for('users.profile')) return render_template("users/register.html", form=form)
def register_with_token(token): form = RegisterForm() token_manager = TokenManager(app) invited_by_id, invited_id = token_manager.verify_token( token, expiration_in_seconds=app.config['INVITE_EXPIRATION_TIME']) if invited_by_id is None or invited_id is None: flash('The token is invalid or has expired. Please ask the person who ' 'sent the invitation to send a new invitation') elif form.validate_on_submit(): invited_user = User.query.get(invited_id) if invited_user.email: log_in = invited_user.email else: log_in = invited_user.mobile_phone if form.login.data.lower() != log_in.lower(): flash( 'The email address or phone number you used does not match the one of your invitation. Please ' 'check if you used the correct one.') else: user = User.query.filter( or_(User.mobile_phone == form.login.data, User.email == form.login.data)).first() hashed_password = bcrypt.generate_password_hash( form.password.data).decode('utf-8') user = User(password=hashed_password, is_active=True, user_confirmed_at=datetime.utcnow()) db.session.commit() login_user(user, remember=False) flash( 'Your account was successfully confirmed. Please fill in your ' 'details below so that we can communicate effectively in the future.', 'success') return redirect(url_for('users.profile')) else: invited_user = User.query.get(invited_id) if invited_user.email: form.login.data = invited_user.email else: form.login.data = invited_user.mobile_phone return render_template('register.html', form=form)
def Sign(): form = RegisterForm() if form.validate_on_submit(): hashed_password = generate_password_hash(form.password.data, method='sha256') users = Users.query.filter_by(username=form.username.data).first() usersEmail = Users.query.filter_by(email=form.email.data).first() if users is None or usersEmail is None: new_user = Users(username=form.username.data, email=form.email.data, password=hashed_password) db.session.add(new_user) db.session.commit() login_user(new_user, remember=form.remember.data) flash('Vous êtes bien connecté en tant que ' + form.username.data) return redirect(url_for('main.home')) else: flash('Identifiant ou Email déjà utilisé') return render_template('sign.html', form=form)
def register(): form = RegisterForm(request.form) if form.validate_on_submit(): user = User( name=form.name.data, email=form.email.data, password=generate_password_hash(form.password.data), phonenumber=form.phonenumber.data ) print(generate_password_hash(form.password.data)) db.session.add(user) db.session.commit() session['user_id'] = user.id flash('Thanks for registering', 'success') return redirect('/') return render_template('users/register.html', form=form)
def register(): form = RegisterForm() if form.validate_on_submit(): hashed_password = bcrypt.generate_password_hash( form.password.data).decode('utf-8') utilisateur = User(nom=form.nom.data, post_nom=form.post_nom.data, prenom=form.prenom.data, username=form.username.data, password=hashed_password) db.session.add(utilisateur) db.session.commit() flash('Creation de compte avec succes', 'success') #return redirect(url_for('authenfication.')) return redirect(url_for('users.all_user')) return render_template('user/register.html', title="Enregistrement", form=form)
def register(): form = RegisterForm(request.form) if form.validate_on_submit(): existing_user = User.query.filter_by(email=form.email.data).first() if existing_user: form.email.errors = (_('This email is already taken'), ) elif not allow_password(form.password.data): form.password.errors = (_('Your password must contain at least 8 ' '(printable) characters.'), ) else: user = User( email=form.email.data, password=generate_password_hash(form.password.data), name=form.name.data, ) user.set_geo_from_ip(request.remote_addr) user.locale = request.accept_languages.best_match( app.config['LANGUAGES']) db.session.add(user) db.session.commit() login_user(user, remember=True) send_confirmation_email(user) flash( _('An email has been sent to you with a confirmation link. ' 'Please login to your email at your convenience ' 'and click the link to finish registration.')) return redirect(url_for('home')) return render_template('users/register.html', form=form)
def register_ed(): form = RegisterForm() if form.validate_on_submit(): hashed_password = bcrypt.generate_password_hash( form.password.data).decode('utf-8') utilisateur = User(nom=form.nom.data, status=True, post_nom=form.post_nom.data, prenom=form.prenom.data, username=form.username.data, password=hashed_password) db.session.add(utilisateur) db.session.commit() flash('Un compte admin crée avec succès', 'success') #return redirect(url_for('authenfication.')) return redirect(url_for('authentification.login')) return render_template('user/registered.html', title="Administrateur", form=form)
def edit(): form = RegisterForm(request.form) if request.method == 'GET': form.name.data = g.user.name form.email.data = g.user.email form.receive_email_notification.data = g.user.receive_email_notification if form.validate_on_submit(): userRegistered = User.query.filter(or_(User.name == form.name.data,\ User.email == form.email.data))\ .filter(User.id != g.user.id)\ .first() # verify if this email or user is alredy used if userRegistered is not None: flash('Email or user already is registered for another person') return render_template('users/edit.html', form=form) # get user from the database user = User.query.get(g.user.id) # update values user.name = form.name.data user.email = form.email.data user.password = generate_password_hash(form.password.data) user.receive_email_notification = form.receive_email_notification.data # update the record in our database and commit it db.session.commit() # flash will display a message to the user flash('User edited successfully') # redirect user to the 'index' method of the user module return redirect(url_for('users.index')) return render_template('users/edit.html', form=form)
def register(): errors = False form = RegisterForm() if form.validate_on_submit(): # Check is username already exists. user = User.query.filter(User.username == form.username.data).first() if user is None: user = User( username=form.username.data, password=form.password.data ) db.session.add(user) db.session.commit() login_user(user) return redirect(url_for('home')) else: errors = True return render_template('users/register.html', form=form, errors=errors)
def register(db): """ Registration form :param db: SQLAlchemy database """ form = RegisterForm(request.form) if form.validate_on_submit(): # Check if the email they are registering with has already been used user = db.session.query(User).filter(User.email == form.email.data).first() if user: # The email is already tied to another user account, error and tell them so flash( "This email address already has an account. Please login with that account or register with a " "different email address" ) else: # The email is unique, create new user account # Create a user instance user = User(name=form.name.data, email=form.email.data, password=generate_password_hash(form.password.data)) # Store it in the db db.session.add(user) db.session.commit() # "log" the user in session["user_id"] = user.id # Message the user flash("Thanks for registering") # Send the user to their home page return redirect(url_for("users.home")) # Send the user back to the account registration page return render_template("users/register.html", form=form)
def register(): """ Registration Form """ form = RegisterForm(request.form) if form.validate_on_submit(): # create an user instance not yet stored in the database # check if email exists try: exists = db.session.query(User).filter( User.email == form.email.data).first() if exists: flash( gettext( u'User with this e-mail was registered already.' u' If you forgot your password click ' + u'<a href="%s">remind password</a>' % url_for( 'users.forgot') )) # redirect user to the 'home' method of the user module. return redirect(url_for('users.register')) except Exception as e: current_app.logger.exception(e) alias = ''.join(e for e in form.name.data if e.isalnum()) try: alias_exists = db.session.query(User).filter( User.alias == alias).one() except Exception as e: current_app.logger.exception(e) alias_exists = None if alias_exists: alias = hashlib.md5(form.email.data).hexdigest() user = User( name=form.name.data, email=form.email.data, alias=alias, password=encrypt_password(form.password.data) ) # add default userRole = db.session.query(Role).filter(Role.name == "user").first() if userRole is not None: # createUserRole = users_roles( user_id = user.id # , role_id = userRole.id ); # adminRole = db.session.query(Role).filter(Role.name == "admin").first() # user.roles.append(adminRole) user.roles.append(userRole) # Insert the record in our database and commit it db.session.add(user) db.session.flush() # Log the user in, as he now has an id authorize(user) try: os.mkdir(os.path.join(UPLOAD_FOLDER, str(user.id)), 0775) except OSError as e: current_app.logger.exception(e) db.session.commit() email_recipients = [item.email for item in db.session.query(User).all() if item.has_role(Role.query.get(1)) ] msg = 'A new user with login {} was created'.format(user.name) if current_app.config['SEND_EMAILS'] == True: try: send_email(email_recipients, msg) except Exception as e: pass # flash will display a message to the user flash(gettext(u'Thanks for registering')) # redirect user to the 'home' method of the user module. if not user.is_confirmed(): return redirect(url_for('users.pleaseconfirm', next=url_for('users.home'))) return render_template('users/register.html', form=form)
def register(): """ Registration Form """ form = RegisterForm(request.form) if form.validate_on_submit(): # create an user instance not yet stored in the database # check if email exists try: exists = db.session.query(User).filter( User.email == form.email.data).first() if exists: flash( gettext( u'User with this e-mail was registered already.' u' If you forgot your password click ' + u'<a href="%s">remind password</a>' % url_for( 'users.forgot') )) # redirect user to the 'home' method of the user module. return redirect(url_for('users.register')) except Exception as e: current_app.logger.exception(e) alias = ''.join(e for e in form.name.data if e.isalnum()) try: alias_exists = db.session.query(User).filter( User.alias == alias).one() except Exception as e: current_app.logger.exception(e) alias_exists = None if alias_exists: alias = hashlib.md5(form.email.data).hexdigest() user = User( name=form.name.data, email=form.email.data, alias=alias, password=generate_password_hash(form.password.data) ) # Insert the record in our database and commit it db.session.add(user) db.session.flush() # Log the user in, as he now has an id authorize(user) try: os.mkdir(os.path.join(UPLOAD_FOLDER, str(user.id)), 0775) except OSError as e: current_app.logger.exception(e) db.session.commit() # flash will display a message to the user flash(gettext(u'Thanks for registering')) # redirect user to the 'home' method of the user module. return redirect(url_for('users.home')) return render_template('users/register.html', form=form)