예제 #1
0
    def test_password(self):
        """Test password hashing"""

        user = User(password="******")
        user.hash_password()

        self.assertTrue(user.verify_pass("test-user"))
        self.assertFalse(user.verify_pass("not-test-user"))
예제 #2
0
파일: views.py 프로젝트: mpdavis/flog
    def post(self):
        form = SetupForm(request.form)

        if form.validate():

            global_settings = GlobalSettings.get_global_settings_object()

            import logging
            logging.warn(global_settings)

            if form.disqus_shortname.data:
                global_settings.disqus_shortname = form.disqus_shortname.data

            if form.flog_name.data:
                global_settings.flog_name = form.flog_name.data

            if form.author_name.data:
                global_settings.author_name = form.author_name.data

            if form.author_bio.data:
                global_settings.author_bio = form.author_bio.data

            db.session.commit()

            username = form.username.data
            password = User.hash_password(form.password.data)

            user = User(username=username, password=password)
            db.session.add(user)
            db.session.commit()
            flask_login.login_user(user)

            return redirect(url_for('admin.add-post'))

        return redirect(url_for('admin.add-post'))
예제 #3
0
def register():
    """Public registration view"""

    if current_user.is_authenticated:
        return redirect(url_for("main.index"))

    form = RegistrationForm()

    if request.method == "POST" and form.validate_on_submit():
        user = User()
        form.populate_obj(user)
        user.active = True
        user.roles.append(Role.query.filter_by(name="User").first())
        user.hash_password()
        db.session.add(user)
        db.session.commit()
        flash("Congratulations, you're now a registered user!")
        return redirect(url_for("auth.login"))

    return render_template("auth/multi_form.html", title="Sign Up", form=form)
예제 #4
0
def create_user(data: dict) -> User:
    """
    Create a new user
    :param data: Fields of new record
    :type data: dict
    :return: Created user model
    :rtype: User
    :raise ValueError: If the email already exists.
    """

    if User.query.filter_by(email=data["email"]).first():
        raise ValueError("The email already exists")

    user = User(**data)
    user.active = True
    user.roles.append(Role.query.filter_by(name="User").first())
    user.hash_password()

    save_changes(obj=user)

    return user
예제 #5
0
파일: views.py 프로젝트: computmaxer/blog
    def post(self):
        form = SetupForm(request.form)

        if form.validate():

            username = form.username.data
            password = User.hash_password(form.password.data)

            user = User(username=username, password=password)
            user.save()
            flask_login.login_user(user)

            return redirect(url_for('admin.add-post'))

        return redirect(url_for('admin.add-post'))