コード例 #1
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('dashboard'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(id=form.studentNumber.data,
                    email=form.email.data,
                    firstName=form.firstName.data,
                    LastName=form.lastName.data,
                    confirmed=False)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        token = generate_confirmation_token(user.email)
        confirm_url = url_for('confirm_email', token=token, _external=True)
        html = render_template('email/activate.html', confirm_url=confirm_url)
        subject = "Please confirm your email"
        send_email(user.email, subject, html)
        flash('A confirmation email has been sent via email.', 'success')
        return redirect(url_for('unconfirmed'))
    return render_template('register.html', title='Register', form=form)
コード例 #2
0
ファイル: routes.py プロジェクト: jomark-t/not-a-thesis
def register(user_type):
    if current_user.is_authenticated and user_type == 'Guest':
        return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(username=form.username.data,
                    email=form.email.data,
                    name=form.name.data,
                    user_type=user_type)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        if user_type == 'Admin':
            flash(form.name.data + " is now registered!")
            return redirect(url_for('users'))
        flash('Congratulations, you are now registered!')
        return redirect(url_for('login'))
    return render_template('register.html',
                           title='Register',
                           form=form,
                           user_type=user_type)
コード例 #3
0
ファイル: routes.py プロジェクト: yuriimchg/microblog
def register():
    # Redirect registered users to the main page
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    # Initialize the form
    form = RegistrationForm()
    # On submitting the registration with registration forn
    if form.validate_on_submit():
        # Add user, email and password to the database
        user = User(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        # Add and commit changes to the database
        db.session.add(user)
        db.session.commit()
        # Successful registration message
        flash(
            f'Congratulations, {user.username}, you have successfully registered!\n Please sign in!'
        )
        # Redirect to login page
        return redirect(url_for('login'))
    return render_template('register.html', title='Registration', form=form)
コード例 #4
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        phonenr = pn.parse(form.tlf.data, "NO")
        user = User(username=form.username.data, useremail=form.email.data,
                    userpwd=hashed_password, usertlf= pn.format_number(phonenr, pn.PhoneNumberFormat.NATIONAL), useraddr=form.addr.data, confirmed=False)
        db.session.add(user)
        db.session.commit()
        createaccs(user.id)
        db.session.commit()
        session['username'] = user.username
        return redirect(url_for('two_factor_setup'))
        #flash(f'Brukeren din har blitt registert, du kan nå logge inn!', 'success')
    return render_template('register.html', form=form), 200, {
        'Cache-Control': 'no-cache, no-store, must-revalidate',
        'Pragma': 'no-cache',
        'Expires': '0'}
コード例 #5
0
ファイル: routes.py プロジェクト: reesecake/glass-force-wiki
def register():
    """
    Presents an anonymous user with the registration form and adds their info to the database.
    Uses user.set_password() to hash their password (instead of storing it plaintext).
    """
    if current_user.is_authenticated:
        return redirect(url_for('index'))

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

        user = User(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        s.add(user)
        s.commit()
        s.close()
        flash('Congratulations, you are now a registered user!')
        return redirect(url_for('login'))

    return render_template('registration.html', form=form)
コード例 #6
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))

    form = RegistrationForm()

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

        new_user = User(username=form.username.data,
                        email=form.email.data,
                        password=hashed_password)
        try:
            new_user.save()
            flash(f'Account created. You can now log in!', 'success')
            return redirect(url_for('login'))
        except:
            flash(f'username and/or email is taken.', 'warning')

    return render_template('register.html', title='Register', form=form)
コード例 #7
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = RegistrationForm()
    if form.validate_on_submit():
        hashed_password = bcrypt.generate_password_hash(
            form.password.data).decode('utf-8')
        user = User(
            FirstName=form.firstname.data,
            LastName=form.lastname.data,
            Email=form.email.data,
            Password=hashed_password,
            Street=form.street.data,
            City=form.city.data,
        )
        db.session.add(user)
        db.session.commit()
        flash(f'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)
コード例 #8
0
 def register():
     form = RegistrationForm()  #??include current user data by default
     if form.validate_on_submit():  #will return false for a GET request
         student = Student.query.filter_by(
             id=form.student_number.data).first()
         if student is None:
             flash('Unrecognized student number')
             return redirect(url_for('index'))
         if current_user.is_authenticated:
             if not student.check_password(form.pin.data):
                 flash('Incorrect pin')
                 return redirect(url_for('index'))
         elif student.password_hash is not None:
             flash('Student already registered. Login to edit details')
             return redirect(url_for('index'))
         student.set_password(form.new_pin.data)
         student.prefered_name = form.prefered_name.data
         db.session.commit()
         login_user(student, remember=False)
         return redirect(url_for('index'))
     return render_template('register.html', title='Register', form=form)
コード例 #9
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('library'))
    form = RegistrationForm()
    if form.validate_on_submit():
        username = form.username.data.strip()
        user = Student(username=form.username.data,
                       email=form.email.data,
                       firstname=form.firstname.data,
                       lastname=form.lastname.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        super_user = Student.query.filter_by(username='******').first()
        user = Student.query.filter_by(username=username,
                                       email=form.email.data).first()
        user.name_as_observer(super_user)
        db.session.commit()
        flash('You are now a registered user.')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
コード例 #10
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(username=form.username.data,
                    email=form.email.data,
                    name=form.name.data,
                    area=form.area.data,
                    hability=form.hability.data,
                    course=form.course.data,
                    contact=form.contact.data,
                    description=form.description.data,
                    codecpfcnpj=form.codecpfcnpj.data,
                    blocked=form.blocked.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Congratulations, you are now a registered user!')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
コード例 #11
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))

    print('test')
    form = RegistrationForm()
    if form.validate_on_submit():
        print('test2')
        user = User(username=form.username.data,
                    email=form.email.data,
                    first_name=form.first_name.data,
                    last_name=form.last_name.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Congratulations, you are now a registered user!')
        return redirect(url_for('login'))

    return render_template('register.html',
                           title='ORF 401: Lab 2 - Register',
                           form=form)
コード例 #12
0
def add_users():
    # limits access to this page if the user is not an Administrator
    if not current_user.admin:
        flash('You do not have access to that page')
        return redirect(url_for('login'))

    form = RegistrationForm()
    if form.validate_on_submit():
        new_user = User(username=form.username.data,
                        email=form.email.data,
                        admin=False)
        new_user.set_password(form.password.data)
        db.session.add(new_user)
        db.session.commit()
        flash('New User, {}, has been successfully created!'.format(
            form.username.data))
        return redirect(url_for('add_users'))

    return render_template('admin_add_users.html',
                           title='Admin - Add Users',
                           form=form)
コード例 #13
0
def register():
    if current_user.admin != True:
        flash('Du måste ha adminkonto för att kunna registrera användare', 'danger')
        return redirect(url_for('home'))
    form = RegistrationForm()  # Om inte, hämta RegistrationForm från Forms.py, och sedan se Return statement nedan
    if form.validate_on_submit():  # OM SubmitField klickas, kör nedan
        first_password = randomString()  # Generera ett första lösenord
        print(first_password)
        # form.password.data = det som användaren har skrivit in i PasswordField (se forms.py). Detta hashas med flasks modul bcrypt
        hashed_password = bcrypt.generate_password_hash(first_password).decode('utf-8')
        user = User(email=form.email.data.lower(), password = hashed_password, admin=form.admin.data)# Inloggningsdetaljer sparas i ett objekt via clasen User från models.py som sparar parametrarna (ID, email, PW)
        send_register_email(user, first_password)   # Skickar inloggningsuppgifter till kontot
        db.session.add(user)  # SQLAlchemy kommando för att adda objektet
        db.session.commit()  # commitar till databasen
        flash(f'Konto skapat för {form.email.data}! Inloggningsinformation har skickats till kontoinnehavaren',
              'success')  # Givet att allt ovan fungerar så kommer en grön ('success') banner upp i toppen av sidan och konfirmerar att det gick
        #send_register_email(user, first_password)
        return redirect(url_for(
            'login'))  # För att samtidigt redirecta dig till login-sidan (url_for är en modul importerad från flask)
    return render_template('register.html', title='Register',
                           form=form)  # Om ingen är inloggad så renderas register.html tillsammans med RegistrationForm som hanterar registreringstrafiken
コード例 #14
0
def reset_password_request():
	if current_user.is_authenticated:
		return redirect(url_for('index'))
	register_form = RegistrationForm()
	login_form = LoginForm()
	if login_form.login_submit.data:
		if login_form.validate_on_submit():
			user = User.query.filter_by(email=login_form.login_email.data).first()
			if user is None or not user.check_password(login_form.login_password.data):
				flash('Invalid email or password')
				return redirect(url_for('privacy_policy'))
			login_user(user, remember=login_form.remember_me.data)
			return redirect(url_for('privacy_policy'))
	form = ResetPasswordRequestForm()
	if form.validate_on_submit():
		user = User.query.filter_by(email=form.email.data).first()
		if user:
			send_password_reset_email(user)
		flash('You will receive an email on how to reset your password if the email that you entered is registered.')
		return redirect(url_for('login'))
	return render_template('reset_password_request.html', title='Reset Password', form=form, register_form=register_form, login_form=login_form)
コード例 #15
0
ファイル: routes.py プロジェクト: modernlabrat/UMGC
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))

    form = RegistrationForm()

    if form.validate_on_submit():
        user = User(username=form.username.data)
        user.set_password(form.password.data)

        try:
            db.session.add(user)
            db.session.commit()
            flash("Account Successfully Created")
        except Exception as e:
            flash("Unable to create account. Username may already be in use.",
                  e.message)
            return redirect(url_for('register'))

        return redirect(url_for('login'))
    return render_template('register.html', form=form)
コード例 #16
0
def register():
    # loc = request.accept_languages.best_match(app.config['LANGUAGES'])
    loc = 'es'
    if loc == 'es':
        return redirect(url_for('register_es'))
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        new_user = User(email=form.email.data,
                        first_name=form.first_name.data,
                        dob=form.dob.data)
        new_user.set_password(form.password.data)
        db.session.add(new_user)
        db.session.commit()
        flash('Registration successfull! You can now log in')
        return redirect(url_for('login'))
    return render_template('register.html',
                           title="Registration",
                           form=form,
                           loc=loc)
コード例 #17
0
def register():
    if current_user.is_authenticated:#якщо користувач вже увійшов
        return redirect(url_for('home'))

    form = RegistrationForm()
    if form.validate_on_submit():# якщо валідація пройшла успішно
        # flash(form.username.data + ' ' + form.email.data + ' ' + form.password.data)
        hashed_password = bcrypt.generate_password_hash(form.password.data).decode('utf-8')

        # id
        id_ = db.session.query(User).order_by(User.id.desc()).first().id + 1

        # додаємо користувача до бд
        user = User(id=id_ ,user_login=form.username.data, user_password=hashed_password)
        db.session.add(user)
        db.session.commit()

        # flash('Account created succesfully', 'success')

        return redirect(url_for('login'))
    return render_template('register.html', form=form)
コード例 #18
0
ファイル: routes.py プロジェクト: Dataquark/Flask-Blog
def register():
    # First we check if the user already logged in
    # If so, we will redirect the user to main page
    if current_user.is_authenticated:
        return redirect(url_for("index"))

    # We will get the form from forms.py
    form = RegistrationForm()
    if form.validate_on_submit():
        # User's data passes all the validations
        # We will add it to User class
        user = User(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)

        # Once the user is created, we will add him/her to our db
        db.session.add(user)
        db.session.commit()
        flash("Congratulations. You are not a registered user!")
        return redirect(url_for("login"))

    return render_template("register.html", title="Register", form=form)
コード例 #19
0
def register():
    form = RegistrationForm()
    print(form.username.data)
    print(form.email.data)
    print(form.password.data)
    print(form.validate_on_submit())
    if form.validate_on_submit():
        print(form.username.data)
        print(form.email.data)
        print(form.password.data)
        hashed_password = bcrypt.hashpw(form.password.data.encode(),
                                        bcrypt.gensalt()).decode('utf-8')
        user = User(username=form.username.data,
                    email=form.email.data,
                    password=hashed_password)
        db.session.add(user)
        db.session.commit()
        flash('Your account has been created!', 'success')
        return redirect(url_for('login'))
    print(form.errors)
    return render_template('register.html', title='Register', form=form)
コード例 #20
0
def register(request):
    """Handles user registration."""
    assert isinstance(request, HttpRequest)
    form = RegistrationForm(request.POST or None)
    if (request.method == 'POST' and form.is_valid()):
        user = User.objects.create_user(
            form.cleaned_data['reg_email'],
            form.cleaned_data['reg_email'],
            form.cleaned_data['reg_password'],
            first_name=form.cleaned_data['reg_firstname'],
            last_name=form.cleaned_data['reg_lastname'])
        login(request, user)
        return HttpResponseRedirect('/')
    else:
        return render(
            request, 'app/login.html', {
                'signin_title': 'Login',
                'signup_title': 'Sign Up',
                'form': BootstrapAuthenticationForm,
                'signup_form': form
            })
コード例 #21
0
def register():
    if current_user.is_authenticated:
        if current_user.urole == 4:
            return redirect(url_for('manager'))
        if current_user.urole == 3:
            return redirect(url_for('cook'))
        if current_user.urole == 2:
            return redirect(url_for('delivery'))
        else:
            return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(username=form.username.data,
                    email=form.email.data,
                    urole=1)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Congratulations, you are now a registered user!')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
コード例 #22
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = User(username=form.username.data, email=form.email.data,
                                                first_name=form.first_name.data,
                                                last_name=form.last_name.data,
                                                phone=form.phone.data,
                                                gender=form.gender.data,
                                                birthday=form.datepicker.data,
                                                address=form.address.data,
                                                city=form.city.data,
                                                state=form.state.data,
                                                zip_code=form.zip_code.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        flash('Congratulations, you are now a registered user!', 'info')
        return redirect(url_for('login'))
    return render_template('register.html', title='Register', form=form)
コード例 #23
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        user = Users(username=form.username.data, email=form.email.data)
        user.set_password(form.password.data)
        db.session.add(user)
        db.session.commit()
        user = Users.query.filter_by(username=form.username.data).first()
        categories = [
            'Car', 'Shopping', 'Girlfriend', 'Dates', 'School', 'Training',
            'Work', 'Personal data'
        ]
        for c in categories:
            entry = Categories(c, user_id=user.id)
            db.session.add(entry)
        db.session.commit()
        flash('Successful registration!')
        return redirect(url_for('login'))
    return render_template('register.html', title='Registration', form=form)
コード例 #24
0
def registration():
    """ Обработчик для регистрации пользователя """

    form = RegistrationForm()
    if form.validate_on_submit():
        session = db_session.create_session()

        # Проверка на существование пользователя с указанной почтой
        if session.query(User).filter(User.email == form.email.data).first():
            return render_template(
                'registration.html',
                title='Регистрация',
                form=form,
                message='Пользователь с такой почтой уже существует')
        #

        # Создание нового пользователя
        user = User(
            nickname=form.nickname.data,
            email=form.email.data,
        )
        user.set_password(form.password.data)
        #

        # Отправка сообщения на указанную почту для подтверждения почты
        link = f'http://{host}:{port}/verifying_email/{user.nickname}/{user.email}' \
               f'/{user.password}/{user.get_token()}'
        send_email(app=app,
                   mail=mail,
                   subject='Change email',
                   sender=app.config['ADMINS'][0],
                   recipients=[form.email.data],
                   html_body=render_template('email_template.html',
                                             username=user.nickname,
                                             link=link))
        #

        return redirect(url_for('check_email'))

    return render_template('registration.html', title='Регистрация', form=form)
コード例 #25
0
def register():
    """Endpoint for creating a username and password to log in.

    On GET request:
        Email field is pre-populated with the session data from the landing
        page's email input form.  If they enter it there then there is no
        reason to enter it again.
    
    On POST request:
        email, password, and confirm_password fields are validated and then
        a query checks to see if there is already a Panelist registered with 
        that given email.  If there is, an error is flashed saying so.  If
        there is not, then the email and the hashed password are inserted and
        commited into the Panelists table.
        """
    # TODO: The panelist's email is entered into the session, and then this
    # is used in the update query to define which panelist row to update.  I
    # believe this will be better handled by calling lastrowid method/attribute
    # of cursor object 'DB' there. Probably not great to use session data.
    form = RegistrationForm(request.form)
    if request.method == 'POST' and form.validate():
        email = form.email.data
        password = form.password.data
        confirm_password = form.confirm_password.data
        db = get_db()
        error = None
        if db.execute('SELECT panelist_id FROM Panelists WHERE email = ?',
                      (email, )).fetchone() is not None:
            error = 'User {} is already registered.'.format(email)
        else:
            db.execute('INSERT INTO Panelists (email, password) VALUES (?, ?)',
                       (email, generate_password_hash(password)))
            db.commit()
            session.clear()
            session['email'] = email
            return redirect(url_for('auth.details'))
        flash(error)

    form.email.data = session['email']
    return render_template('auth/register.html', form=form)
コード例 #26
0
ファイル: routes.py プロジェクト: Ji-Hua/gift_selector
def register():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        username = form.username.data
        roles_dict = {"臭猪": "StinkyPiggy", "傻猪": "SillyPiggy"}
        role = Role.query.filter_by(name=roles_dict[username]).first()
        if role.check_validation_hash(str(form.birthday.data)):
            user = User(username=username,
                        role=role,
                        email=form.email.data,
                        password=form.password.data)
            db.session.add(user)
            db.session.commit()

            send_confirmation_email(user)
            flash('确认邮件已发送至您的邮箱,请点击其中链接完成注册')
            return redirect(url_for('main.index'))
        else:
            flash('生日输入错误')
    return render_template('auth/register.html', title='注册', form=form)
コード例 #27
0
ファイル: routes.py プロジェクト: Cet500/FlaskLearn
def register():
    if current_user.is_authenticated:
        return redirect(url_for("index"))

    form = RegistrationForm()

    if form.validate_on_submit():
        user = User(login=form.login.data,
                    email=form.email.data,
                    name=form.name.data,
                    lastname=form.lastname.data)
        user.set_password(password=form.password.data)

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

        flash(_("Congratulations, you are now a registered user!"))
        app.logger.info(f'REGISTER | success registered user {user.login}')

        return redirect(url_for("login"))

    return render_template("register.html", title=_('Registration'), form=form)
コード例 #28
0
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        username = form.username.data
        email = form.email.data
        role = form.userrole.data
        user = User(username=form.username.data,
                    email=form.email.data,
                    role=form.userrole.data)
        user.set_password(form.password.data)
        sql = text(
            'INSERT INTO user (username, email, password_hash, role) VALUES ("{}", "{}", "{}", "{}");'
            .format(username, email, user.password_hash, role))
        db.engine.execute(sql)
        db.session.commit()
        # db.session.add(user)
        # db.session.commit()
        flash('Congratulations, you are now a registered user!')
        return redirect(url_for('index'))
    return render_template('register.html', title='Register', form=form)
コード例 #29
0
def register():
	title="加入我们!"
	if current_user.is_authenticated:
		return redirect(url_for('index'))
	form = RegistrationForm()
	if form.validate_on_submit():
		usered=User.query.filter_by(username=form.username.data).first()
		emailed=User.query.filter_by(email=form.email.data).first()
		if usered is None and emailed is None:
			user = User(username=form.username.data, email=form.email.data)
			user.set_password(form.password.data)
			db.session.add(user)
			db.session.commit()
			flash('恭喜,注册成功!请登录')
			return redirect(url_for('login'))
		elif usered:
			flash('用户名已存在,请重新输入')
			return redirect(url_for('register'))
		elif emailed:
			flash('邮箱已被注册,请重新输入')
			return redirect(url_for('register'))
	return render_template('register.html',title=title, form=form)
コード例 #30
0
ファイル: routes.py プロジェクト: Makistos/suomisf
def register():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = RegistrationForm()
    if form.validate_on_submit():
        session = new_session()
        user = User(name=form.username.data)
        user.set_password(form.password.data)
        session.add(user)
        pubseries = session.query(Pubseries)\
                           .filter(Pubseries.important == True)\
                           .all()
        session.commit()
        for series in pubseries:
            ups = UserPubseries(user_id=user.id, series_id=series.id)
            session.add(ups)
        session.commit()
        flash('Rekisteröinti onnistui!')
        return redirect(url_for('login'))
    return render_template('register.html',
                           form=form,
                           title='Tunnuksen luonti')