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