Skip to content
Snippets Groups Projects

Localization support

Merged mikrats requested to merge localization-fi into main
+ 27
13
@@ -117,20 +117,27 @@ def get_user_by_email(email: str) -> User:
@bp.route('/register', methods=('GET', 'POST'))
def register():
"""
Function that handels registration and checks if
everything is inputed properly.
"""
if request.method == 'POST':
print("Registering user...")
email = request.form['email']
password = request.form['password']
password2 = request.form['password2']
error = None
error_message = None
if not email:
error = 'Username is required.'
error_message = ( _("Username is required."))
elif not password:
error = 'Password is required.'
error_message = ( _("Password is required."))
elif password != password2:
error = 'Passwords do not match.'
error_message = ( _("Passwords do not match."))
if error is None:
try:
user = User(
@@ -138,15 +145,16 @@ def register():
password=generate_password_hash(password)
)
user.save()
flash("You have been registered. Please log in.")
flash( _("You have been registered. Please log in."))
except Exception as exc:
error = f"Error creating user: {exc!s}"
error_message = ( _("Unexpected error creating user. Please try again later"))
else:
return redirect(url_for("auth.login"))
print("Could not register user:", error)
flash(error)
flash(error_message)
return render_template('auth/register.html')
@@ -158,21 +166,25 @@ def login():
password = request.form['password']
user = None
error = None
error_message = None
message = ( _("Incorrect username or password."))
try:
user = User.objects.get(email=email)
except DoesNotExist:
error = 'Incorrect username.'
error_message = message
if user is None:
error = 'Incorrect username or password.'
elif not check_password_hash(user['password'], password):
if user is None or not check_password_hash(user['password'], password):
error = 'Incorrect username or password.'
error_message = message
if error is None:
remember_me = bool(request.form.get("remember-me", False))
if login_user(user, remember=remember_me):
flash(f"Hello {email}, You have been logged in.")
hello = (_("Hello"))
login = (_("You have been logged in."))
flash(f"{hello} {email}, {login}")
next = request.args.get('next')
# Better check that the user actually clicked on a relative link
@@ -183,9 +195,10 @@ def login():
return redirect(next)
else:
error = "Error logging in."
error_message = ( _("Error logging in."))
logger.info("Error logging user in: %r: Error: %s", email, error)
flash(error)
flash(error_message)
return render_template('auth/login.html')
@@ -199,7 +212,7 @@ def logout():
Also removes the "remember me" cookie.
"""
logout_user()
flash("You have been logged out.")
flash( _("You have been logged out."))
return redirect(url_for('auth.login'))
@@ -258,12 +271,12 @@ def user_access_tokens(email):
token.save()
except KeyError as exc:
logger.debug("Missing required field: %s", exc)
flash(("Required field missing"))
flash(_("Required field missing"))
except Exception as exc:
logger.exception("Error creating token: %s", exc)
flash(("Error creating token: %s") % exc)
flash(_("Error creating token: %s") % exc)
else:
flash(("Created token: %s") % token.name)
flash(_("Created token: %s") % token.name)
return render_template('auth/tokens.html', user=user, tokens=tokens, token=token)
@@ -286,7 +299,8 @@ def delete_user_access_token(email, id):
token.delete()
flash(f"Deleted token {token.name}")
deleted = (_("Deleted token "))
flash(f"{deleted}{token.name}")
return redirect(url_for('auth.user_access_tokens', email=token.user.email))
Loading