Skip to content
Snippets Groups Projects
Commit 7939fbf6 authored by Martin Mareš's avatar Martin Mareš
Browse files

Společná funkce na kontrolu přípustnosti hesla

parent d6fd96ba
Branches
No related tags found
1 merge request!86Registrace
......@@ -165,6 +165,13 @@ def user_by_uid(uid: int) -> db.User:
return db.get_session().query(db.User).get(uid)
password_help = 'Heslo musí mít alespoň 8 znaků. Doporučujeme kombinovat velká a malá písmena a číslice.'
def validate_password(passwd: str) -> bool:
return len(passwd) >= 8
def set_password(user: db.User, passwd: str):
salt = bcrypt.gensalt()
hashed = bcrypt.hashpw(passwd.encode('utf-8'), salt)
......
......@@ -127,7 +127,7 @@ def handle_need_login(e):
class ResetForm(FlaskForm):
email = EmailField('E-mail', description='Účet pro který se nastavuje nové heslo', render_kw={"disabled": "disabled"})
token = wtforms.HiddenField()
passwd = wtforms.PasswordField('Nové heslo', description='Heslo musí mít alespoň 8 znaků. Doporučujeme kombinovat velká a malá písmena a číslice.')
passwd = wtforms.PasswordField('Nové heslo', description=mo.users.password_help)
submit = wtforms.SubmitField('Nastavit heslo')
cancel = wtforms.SubmitField('Zrušit obnovu hesla')
......@@ -155,8 +155,8 @@ def reset():
db.get_session().commit()
flash('Obnova hesla zrušena', 'warning')
return redirect(url_for('login'))
elif len(form.passwd.data) < 8:
flash('Heslo musí být aspoň 8 znaků dlouhé', 'danger')
elif not mo.users.validate_password(form.passwd.data):
flash(mo.users.password_help, 'danger')
return render_template('reset.html', form=form)
else:
mo.users.do_reset_password(user)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment