mirror of
https://github.com/janeczku/calibre-web
synced 2024-11-17 23:34:53 +00:00
Allow deletion of kindle email address and force e-mail address to be valid
This commit is contained in:
parent
ec8844c7d4
commit
89d226e36b
@ -1960,8 +1960,11 @@ def _handle_edit_user(to_save, content, languages, translations, kobo_support):
|
||||
if to_save.get("locale"):
|
||||
content.locale = to_save["locale"]
|
||||
try:
|
||||
if to_save.get("email", content.email) != content.email:
|
||||
content.email = check_email(to_save["email"])
|
||||
new_email = check_email(to_save.get("email", content.email))
|
||||
if not new_email:
|
||||
raise Exception(_(u"E-Mail Address can't be empty and has to be a valid E-Mail"))
|
||||
if new_email != content.email:
|
||||
content.email = new_email
|
||||
# Query username, if not existing, change
|
||||
if to_save.get("name", content.name) != content.name:
|
||||
if to_save.get("name") == "Guest":
|
||||
|
@ -654,11 +654,13 @@ def check_username(username):
|
||||
|
||||
def valid_email(email):
|
||||
email = email.strip()
|
||||
# Regex according to https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email#validation
|
||||
if not re.search(r"^[\w.!#$%&'*+\\/=?^_`{|}~-]+@[\w](?:[\w-]{0,61}[\w])?(?:\.[\w](?:[\w-]{0,61}[\w])?)*$",
|
||||
email):
|
||||
log.error(u"Invalid e-mail address format")
|
||||
raise Exception(_(u"Invalid e-mail address format"))
|
||||
# if email is not deleted
|
||||
if email:
|
||||
# Regex according to https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email#validation
|
||||
if not re.search(r"^[\w.!#$%&'*+\\/=?^_`{|}~-]+@[\w](?:[\w-]{0,61}[\w])?(?:\.[\w](?:[\w-]{0,61}[\w])?)*$",
|
||||
email):
|
||||
log.error(u"Invalid e-mail address format")
|
||||
raise Exception(_(u"Invalid e-mail address format"))
|
||||
return email
|
||||
|
||||
# ################################# External interface #################################
|
||||
|
@ -1364,8 +1364,11 @@ def change_profile(kobo_support, local_oauth_check, oauth_status, translations,
|
||||
try:
|
||||
if to_save.get("kindle_mail", current_user.kindle_mail) != current_user.kindle_mail:
|
||||
current_user.kindle_mail = valid_email(to_save.get("kindle_mail"))
|
||||
if to_save.get("email", current_user.email) != current_user.email:
|
||||
current_user.email = check_email(to_save.get("email"))
|
||||
new_email = check_email(to_save.get("email", current_user.email))
|
||||
if not new_email:
|
||||
raise Exception(_(u"E-Mail Address can't be empty and has to be a valid E-Mail"))
|
||||
if new_email != current_user.email:
|
||||
current_user.email = new_email
|
||||
if current_user.role_admin():
|
||||
if to_save.get("name", current_user.name) != current_user.name:
|
||||
# Query username, if not existing, change
|
||||
|
Loading…
Reference in New Issue
Block a user