diff --git a/frappe/core/doctype/doctype/doctype.py b/frappe/core/doctype/doctype/doctype.py
index 89b2a1a47e..d922cfe166 100644
--- a/frappe/core/doctype/doctype/doctype.py
+++ b/frappe/core/doctype/doctype/doctype.py
@@ -895,7 +895,7 @@ def validate_fields(meta):
field.fetch_from = field.fetch_from.strip('\n').strip()
def validate_data_field_type(docfield):
- if docfield.fieldtype == "Data":
+ if docfield.fieldtype == "Data" and not (docfield.oldfieldtype and docfield.oldfieldtype != "Data"):
if docfield.options and (docfield.options not in data_field_options):
df_str = frappe.bold(_(docfield.label))
text_str = _("{0} is an invalid Data field.").format(df_str) + "
" * 2 + _("Only Options allowed for Data field are:") + "
"
diff --git a/frappe/core/doctype/user/user.py b/frappe/core/doctype/user/user.py
index 7837c90d2b..8370af6808 100644
--- a/frappe/core/doctype/user/user.py
+++ b/frappe/core/doctype/user/user.py
@@ -551,6 +551,7 @@ def update_password(new_password, logout_all_sessions=0, key=None, old_password=
res = _get_user_for_update_password(key, old_password)
if res.get('message'):
+ frappe.local.response.http_status_code = 410
return res['message']
else:
user = res['user']
@@ -718,7 +719,7 @@ def _get_user_for_update_password(key, old_password):
user = frappe.db.get_value("User", {"reset_password_key": key})
if not user:
return {
- 'message': _("Cannot Update: Incorrect / Expired Link.")
+ 'message': _("The Link specified has either been used before or Invalid")
}
elif old_password:
diff --git a/frappe/model/base_document.py b/frappe/model/base_document.py
index f5612c1ec0..feeb96898a 100644
--- a/frappe/model/base_document.py
+++ b/frappe/model/base_document.py
@@ -565,10 +565,14 @@ class BaseDocument(object):
for data_field in self.meta.get_data_fields():
data = self.get(data_field.fieldname)
data_field_options = data_field.get("options")
+ old_fieldtype = data_field.get("oldfieldtype")
+
+ if old_fieldtype and old_fieldtype != "Data":
+ continue
if data_field_options == "Email":
if (self.owner in STANDARD_USERS) and (data in STANDARD_USERS):
- return
+ continue
for email_address in frappe.utils.split_emails(data):
frappe.utils.validate_email_address(email_address, throw=True)
diff --git a/frappe/www/update-password.html b/frappe/www/update-password.html
index f0ee0688d4..d12be86d12 100644
--- a/frappe/www/update-password.html
+++ b/frappe/www/update-password.html
@@ -9,7 +9,7 @@
{{ _("Reset Password") if frappe.db.get_default('company') else _("Set Password")}}