Merge branch 'master' into Develop

This commit is contained in:
Ozzie Isaacs 2022-04-26 11:11:00 +02:00
commit 47414ada69

View File

@ -1592,13 +1592,13 @@ def register():
if request.method == "POST": if request.method == "POST":
to_save = request.form.to_dict() to_save = request.form.to_dict()
nickname = to_save["email"].strip() if config.config_register_email else to_save.get('name') nickname = to_save.get("email", "").strip() if config.config_register_email else to_save.get('name')
if not nickname or not to_save.get("email"): if not nickname or not to_save.get("email"):
flash(_(u"Please fill out all fields!"), category="error") flash(_(u"Please fill out all fields!"), category="error")
return render_title_template('register.html', title=_("Register"), page="register") return render_title_template('register.html', title=_("Register"), page="register")
try: try:
nickname = check_username(nickname) nickname = check_username(nickname)
email = check_email(to_save["email"]) email = check_email(to_save.get("email", ""))
except Exception as ex: except Exception as ex:
flash(str(ex), category="error") flash(str(ex), category="error")
return render_title_template('register.html', title=_("Register"), page="register") return render_title_template('register.html', title=_("Register"), page="register")
@ -1616,14 +1616,15 @@ def register():
ub.session.commit() ub.session.commit()
if feature_support['oauth']: if feature_support['oauth']:
register_user_with_oauth(content) register_user_with_oauth(content)
send_registration_mail(to_save["email"].strip(), nickname, password) send_registration_mail(to_save.get("email", "").strip(), nickname, password)
except Exception: except Exception:
ub.session.rollback() ub.session.rollback()
flash(_(u"An unknown error occurred. Please try again later."), category="error") flash(_(u"An unknown error occurred. Please try again later."), category="error")
return render_title_template('register.html', title=_("Register"), page="register") return render_title_template('register.html', title=_("Register"), page="register")
else: else:
flash(_(u"Your e-mail is not allowed to register"), category="error") flash(_(u"Your e-mail is not allowed to register"), category="error")
log.warning('Registering failed for user "%s" e-mail address: %s', nickname, to_save["email"]) log.warning('Registering failed for user "{}" e-mail address: {}'.format(nickname,
to_save.get("email","")))
return render_title_template('register.html', title=_("Register"), page="register") return render_title_template('register.html', title=_("Register"), page="register")
flash(_(u"Confirmation e-mail was send to your e-mail account."), category="success") flash(_(u"Confirmation e-mail was send to your e-mail account."), category="success")
return redirect(url_for('web.login')) return redirect(url_for('web.login'))
@ -1649,7 +1650,7 @@ def login():
if login_result: if login_result:
login_user(user, remember=bool(form.get('remember_me'))) login_user(user, remember=bool(form.get('remember_me')))
ub.store_user_session() ub.store_user_session()
log.debug(u"You are now logged in as: '%s'", user.name) log.debug(u"You are now logged in as: '{}'".format(user.name))
flash(_(u"you are now logged in as: '%(nickname)s'", nickname=user.name), flash(_(u"you are now logged in as: '%(nickname)s'", nickname=user.name),
category="success") category="success")
return redirect_back(url_for("web.index")) return redirect_back(url_for("web.index"))
@ -1657,7 +1658,7 @@ def login():
and user.name != "Guest": and user.name != "Guest":
login_user(user, remember=bool(form.get('remember_me'))) login_user(user, remember=bool(form.get('remember_me')))
ub.store_user_session() ub.store_user_session()
log.info("Local Fallback Login as: '%s'", user.name) log.info("Local Fallback Login as: '{}'".format(user.name))
flash(_(u"Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known", flash(_(u"Fallback Login as: '%(nickname)s', LDAP Server not reachable, or user not known",
nickname=user.name), nickname=user.name),
category="warning") category="warning")
@ -1671,7 +1672,7 @@ def login():
flash(_(u"Wrong Username or Password"), category="error") flash(_(u"Wrong Username or Password"), category="error")
else: else:
ip_address = request.headers.get('X-Forwarded-For', request.remote_addr) ip_address = request.headers.get('X-Forwarded-For', request.remote_addr)
if 'forgot' in form and form['forgot'] == 'forgot': if form.get('forgot', "") == 'forgot':
if user is not None and user.name != "Guest": if user is not None and user.name != "Guest":
ret, __ = reset_password(user.id) ret, __ = reset_password(user.id)
if ret == 1: if ret == 1:
@ -1724,21 +1725,19 @@ def change_profile(kobo_support, local_oauth_check, oauth_status, translations,
current_user.random_books = 0 current_user.random_books = 0
if current_user.role_passwd() or current_user.role_admin(): if current_user.role_passwd() or current_user.role_admin():
if to_save.get("password"): if to_save.get("password"):
current_user.password = generate_password_hash(to_save["password"]) current_user.password = generate_password_hash(to_save.get("password"))
try: try:
if to_save.get("kindle_mail", current_user.kindle_mail) != current_user.kindle_mail: if to_save.get("kindle_mail", current_user.kindle_mail) != current_user.kindle_mail:
current_user.kindle_mail = valid_email(to_save["kindle_mail"]) current_user.kindle_mail = valid_email(to_save.get("kindle_mail"))
if to_save.get("email", current_user.email) != current_user.email: if to_save.get("email", current_user.email) != current_user.email:
current_user.email = check_email(to_save["email"]) current_user.email = check_email(to_save.get("email"))
if current_user.role_admin(): if current_user.role_admin():
if to_save.get("name", current_user.name) != current_user.name: if to_save.get("name", current_user.name) != current_user.name:
# Query username, if not existing, change # Query username, if not existing, change
current_user.name = check_username(to_save["name"]) current_user.name = check_username(to_save.get("name"))
current_user.random_books = 1 if to_save.get("show_random") == "on" else 0 current_user.random_books = 1 if to_save.get("show_random") == "on" else 0
if to_save.get("default_language"): current_user.default_language = to_save.get("default_language", "all")
current_user.default_language = to_save["default_language"] current_user.locale = to_save.get("locale", "en")
if to_save.get("locale"):
current_user.locale = to_save["locale"]
old_state = current_user.kobo_only_shelves_sync old_state = current_user.kobo_only_shelves_sync
# 1 -> 0: nothing has to be done # 1 -> 0: nothing has to be done
# 0 -> 1: all synced books have to be added to archived books, + currently synced shelfs which # 0 -> 1: all synced books have to be added to archived books, + currently synced shelfs which