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
No related branches found
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