@@ -59,7 +59,6 @@ class User(Document):
self.set_system_user()
self.set_full_name()
self.check_enable_disable()
self.update_gravatar()
self.ensure_unique_roles()
self.remove_all_roles_for_guest()
self.validate_username()
@@ -80,6 +79,8 @@ class User(Document):
clear_notifications(user=self.name)
frappe.clear_cache(user=self.name)
self.send_password_notification(self.__new_password)
if self.name not in ('Administrator', 'Guest') and not self.user_image:
frappe.enqueue('frappe.core.doctype.user.user.update_gravatar', name=self.name)
def has_website_permission(self, ptype, verbose=False):
"""Returns true if current user is the session user"""
@@ -193,11 +194,6 @@ class User(Document):
print frappe.get_traceback()
pass # email server not set, don't send email
def update_gravatar(self):
if not self.user_image:
self.user_image = has_gravatar(self.name)
@Document.hook
def validate_reset_password(self):
pass
@@ -554,7 +550,6 @@ def test_password_strength(new_password, key=None, old_password=None, user_data=
if new_password:
result = _test_password_strength(new_password, user_inputs=user_data)
enable_password_policy = cint(frappe.db.get_single_value("System Settings", "enable_password_policy")) and True or False
minimum_password_score = cint(frappe.db.get_single_value("System Settings", "minimum_password_score")) or 0
password_policy_validation_passed = False
@@ -620,16 +615,16 @@ def setup_user_email_inbox(email_account, awaiting_password, email_id, enable_ou
return
for user in user_names:
user = user.get("name")
user_name = user.get("name")
# check if inbox is alreay configured
user_inbox = frappe.db.get_value("User Email", {
"email_account": email_account,
"parent": user
"parent": user_name
}, ["name"]) or None
if not user_inbox:
add_user_email(user)
add_user_email(user_name )
else:
# update awaiting password for email account
udpate_user_email_settings = True
@@ -882,3 +877,8 @@ def handle_password_test_fail(result):
warning = result['feedback']['warning'] if 'warning' in result['feedback'] else ''
suggestions += "<br>" + _("Hint: Include symbols, numbers and capital letters in the password") + '<br>'
frappe.throw(_('Invalid Password: ' + ' '.join([warning, suggestions])))
def update_gravatar(name):
gravatar = has_gravatar(name)
if gravatar:
frappe.db.set_value('User', name, 'user_image', gravatar)