roundabout,
created on Sunday, 28 April 2024, 19:19:58 (1714331998),
received on Wednesday, 31 July 2024, 06:54:47 (1722408887)
Author identity: vlad <vlad.muntoiu@gmail.com>
74cfffc5337357b9ed3307da2344b8119f67d2e8
app.py
@@ -350,33 +350,42 @@ def login():
name = flask.request.form.get("name")
if not only_chars(username,
"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"):
"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-"):
flask.flash(Markup(
_("Usernames may only contain Latin alphabet, numbers, '-' and '_'")),
_("Usernames may only contain Latin alphabet, numbers and '-'")),
category="error")
return flask.render_template("login.html")
if "--" in username:
flask.flash(Markup(
_("Usernames may not contain consecutive hyphens")),
category="error")
return flask.render_template("login.html")
if username in config.RESERVED_NAMES:
flask.flash(
Markup(
"<iconify-icon icon='mdi:account-error'></iconify-icon>" + _(
"Sorry, {username} is a system path").format(
_("Sorry, {username} is a system path").format(
username=username)),
category="error")
return flask.render_template("login.html")
if not username.islower():
username = username.lower()
flask.flash(Markup(
_("Usernames must be lowercase, so it's been converted automatically")),
category="info")
user_check = User.query.filter_by(username=username).first()
if user_check or email2: # make the honeypot look like a normal error
flask.flash(
Markup(
"<iconify-icon icon='mdi:account-error'></iconify-icon>" + _(
_(
"The username {username} is taken").format(
username=username)),
category="error")
return flask.render_template("login.html")
if password2 != password:
flask.flash(Markup("<iconify-icon icon='mdi:key-alert'></iconify-icon>" + _(
flask.flash(Markup(_(
"Make sure the passwords match")),
category="error")
return flask.render_template("login.html")
@@ -386,10 +395,10 @@ def login():
db.session.commit()
flask.session["username"] = user.username
flask.flash(Markup(
"<iconify-icon icon='mdi:account'></iconify-icon>" + _(
"Successfully created and logged in as {username}").format(
username=username)),
category="success")
_(
"Successfully created and logged in as {username}").format(
username=username)),
category="success")
notification = Notification({"type": "welcome"})
db.session.add(notification)