Пример #1
0
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)
Пример #2
0
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)
Пример #3
0
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)
Пример #4
0
 def test_validate_register_form_email_already_exsits(self):
     """ validate false email already registed """
     form = RegisterForm(username="******",
                         email="*****@*****.**",
                         password="******",
                         password_confirm="password123")
     self.assertFalse(form.validate())
Пример #5
0
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)
Пример #6
0
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)
Пример #7
0
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)
Пример #8
0
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)
Пример #9
0
def register():
    form = RegisterForm(request.form)
    if request.method == 'POST' and form.validate():
        email = form.email.data
        username = form.username.data
        name = form.name.data
        password = sha256_crypt.encrypt(form.password.data)
        error = errors(username, email)
        if not error['username'] and not error['email']:
            cursor = mysql.connection.cursor()
            token = getrandstr(random, string, 50)
            query = 'insert into users(email, username, name, password, confirmed) VALUES(%s,%s,%s,%s,%s)'
            cursor.execute(query, (email, username, name, password, token))
            mysql.connection.commit()
            cursor.close()
            confirm_url = url_for('users.confirm_email',
                                  token=token,
                                  _external=True)
            html = render_template('users/email.html', confirm_url=confirm_url)
            subject = 'Hesabınızı Təsdiqləyin'
            send_email(to=email, subject=subject, template=html)
            flash('Qeydiyyatdan uğurla keçdiniz!', 'success')
            return redirect(url_for('users.login'))
        elif error['username'] == True:
            flash('Belə istifadəçi adı var', 'danger')
        elif error['email'] == True:
            flash('Bu email istifadə olunub', 'danger')

    return render_template('users/register.html', form=form)
Пример #10
0
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)
Пример #11
0
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)
Пример #12
0
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)
Пример #13
0
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)
Пример #14
0
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)
Пример #15
0
def user_register_page():
    form = RegisterForm(request.form)

    if request.method == 'POST' and form.validate():
        user = User()
        form.populate_obj(user)
        db.session.add(user)
        db.session.commit()
        # send email confirmation
        flash("Account activation link sent to email.")
        return redirect(url_for('home_page'))

    return render_template('users/user_register_page.html', form=form)
Пример #16
0
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)
Пример #17
0
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))
Пример #18
0
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)
Пример #19
0
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)
Пример #20
0
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)
Пример #21
0
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)
Пример #22
0
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)
Пример #23
0
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)
Пример #24
0
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)
Пример #25
0
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)
Пример #26
0
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)
Пример #27
0
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)
Пример #28
0
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)
Пример #29
0
def register():
    error = None
    form = RegisterForm(request.form)
    if form.validate():
        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:
        if request.method == "POST":
            flash_errors(form)
    return render_template('/register.html', form=form, error=error)
Пример #30
0
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)
Пример #31
0
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)
Пример #32
0
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)
Пример #33
0
def register():
    """
    Registration page with form (handled on POST).
    """
    form = RegisterForm(request.form)
    if request.method == 'POST' and _validate_register_form(form):
        return redirect(url_for('users.home'))

    return render_template(
        'users/register.html',
        form=form,
        is_admin=User.is_admin(g.user))
Пример #34
0
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)
Пример #35
0
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)
Пример #36
0
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)
Пример #37
0
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)
Пример #38
0
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)
Пример #39
0
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)
Пример #40
0
def register():
    if ('username' not in request.args) or (request.args['username'] == ''):
        return make_response(jsonify({'error': 'Username not provided'}), 400)

    if ('email' not in request.args) or (request.args['email'] == ''):
        return make_response(jsonify({'error': 'Email not provided'}), 400)

    if ('password' not in request.args) or (request.args['password'] == ''):
        return make_response(jsonify({'error': 'Password not provided'}), 400)

    if ('confirm' not in request.args) or (request.args['confirm'] == ''):
        return make_response(
            jsonify({'error': 'Confirm password not provided'}), 400
        )

    form = RegisterForm(request.args)
    form.csrf_enabled = False
    if not form.validate():
        errors = []
        errors.append(form.username.errors)
        errors.append(form.email.errors)
        errors.append(form.password.errors)
        errors.append(form.confirm.errors)
        errors = [item for sublist in errors for item in sublist]

        return make_response(jsonify({'error': errors[0]}), 400)

    new_user = User(
        username=request.args['username'],
        email=request.args['email'],
        password=generate_password_hash(request.args['password'])
    )

    db.session.add(new_user)
    db.session.commit()
    return make_response(jsonify({'success': 'User has been created'}), 201)
Пример #41
0
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)
Пример #42
0
def users_create():
    """ Create a new user using HTTP post methods

    :returns: user in json format
    """
    form = RegisterForm(request.form)
    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()
        return user.serialize()
    return {}, 401
Пример #43
0
 def test_validate_register_form(self):
     form = RegisterForm(username="******",
                         email="*****@*****.**",
                         password="******",
                         password_confirm="password123")
     self.assertTrue(form.validate())
Пример #44
0
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)
Пример #45
0
def register():
    """
    Registration Form
    """
    
    form = RegisterForm(request.form)
    errors = []
    

    if form.is_submitted():
        is_validated = True
        if form.name.data.strip() == '':
            is_validated = False
            errors.append(gettext('Username is required'))
        #validate email
        if form.email.data.strip() == '':
            is_validated = False
            errors.append(gettext('Email is required'))
        #validate valid email
        match = re.search(r'^.+@([^.@][^@]+)$', form.email.data.strip())
        if not match:
            is_validated = False
            errors.append(gettext('Invalid email address'))
        
        if form.password.data.strip() == '':
            is_validated = False
            errors.append(gettext('Password field is required'))
            
        if form.confirm.data.strip() == '':
            is_validated = False
            errors.append(gettext('You have to confirm your password'))
        if form.confirm.data != form.password.data:
            is_validated = False
            errors.append(gettext('Passwords must match'))
        
        if len(form.recaptcha.errors) > 0:
            is_validated = False
            errors.append(gettext('Captcha was incorrect'))
            
        if is_validated:
            same_username_user = User.query.filter_by(username=form.name.data).first()
            same_email_user = User.query.filter_by(email=form.email.data).first()
            if same_email_user is not None:
                errors.append(gettext('Duplicate email address'))
            if same_username_user is not None:
                errors.append(gettext('Duplicate username'))

            if len(errors) > 0:
                return render_template("users/register.html", form=form, errors=errors)

            # Insert the record in our database and commit it
            user = User(username=form.name.data.lower(), email=form.email.data,
                        password=generate_password_hash(form.password.data))
            user.verification_code = utilities.generate_random_string(50)
            user.banned = 2
            db.session.add(user)
            db.session.commit()
            
            # send confirm email and redirect to confirm page
            email_activation = Journal.query.filter(Journal.id==120).first().get_journal_content(session['locale'])
            send_mail([user.email], email_activation.title, render_template_string(email_activation.content, activate_link=url_for('users.verify_account', code=user.verification_code, _external=True)))
            return render_template("users/register_finish.html", email=user.email)
        else:
            return render_template("users/register.html", form=form, errors=errors)
    return render_template("users/register.html", form=form, errors=[])
Пример #46
0
def register():
    """
    Registration Form
    """

    form = RegisterForm(request.form)
    errors = []

    if form.is_submitted():
        is_validated = True
        if form.name.data.strip() == '':
            is_validated = False
            errors.append(gettext('Username is required'))
        #validate email
        if form.email.data.strip() == '':
            is_validated = False
            errors.append(gettext('Email is required'))
        #validate valid email
        match = re.search(r'^.+@([^.@][^@]+)$', form.email.data.strip())
        if not match:
            is_validated = False
            errors.append(gettext('Invalid email address'))

        if form.password.data.strip() == '':
            is_validated = False
            errors.append(gettext('Password field is required'))

        if form.confirm.data.strip() == '':
            is_validated = False
            errors.append(gettext('You have to confirm your password'))
        if form.confirm.data != form.password.data:
            is_validated = False
            errors.append(gettext('Passwords must match'))

        if len(form.recaptcha.errors) > 0:
            is_validated = False
            errors.append(gettext('Captcha was incorrect'))

        if is_validated:
            same_username_user = User.query.filter_by(
                username=form.name.data).first()
            same_email_user = User.query.filter_by(
                email=form.email.data).first()
            if same_email_user is not None:
                errors.append(gettext('Duplicate email address'))
            if same_username_user is not None:
                errors.append(gettext('Duplicate username'))

            if len(errors) > 0:
                return render_template("users/register.html",
                                       form=form,
                                       errors=errors)

            # Insert the record in our database and commit it
            user = User(username=form.name.data.lower(),
                        email=form.email.data,
                        password=generate_password_hash(form.password.data))
            user.verification_code = utilities.generate_random_string(50)
            user.banned = 2
            db.session.add(user)
            db.session.commit()

            # send confirm email and redirect to confirm page
            email_activation = Journal.query.filter(
                Journal.id == 120).first().get_journal_content(
                    session['locale'])
            send_mail([user.email], email_activation.title,
                      render_template_string(email_activation.content,
                                             activate_link=url_for(
                                                 'users.verify_account',
                                                 code=user.verification_code,
                                                 _external=True)))
            return render_template("users/register_finish.html",
                                   email=user.email)
        else:
            return render_template("users/register.html",
                                   form=form,
                                   errors=errors)
    return render_template("users/register.html", form=form, errors=[])