diff --git a/frappe/core/doctype/userrole/userrole.py b/frappe/core/doctype/userrole/userrole.py index 84aecb78cd..47625524fd 100644 --- a/frappe/core/doctype/userrole/userrole.py +++ b/frappe/core/doctype/userrole/userrole.py @@ -11,4 +11,4 @@ class UserRole(Document): def validate(self): if cint(self.get("__islocal")) and frappe.db.exists("UserRole", { "parent": self.parent, "role": self.role}): - frappe.throw(frappe._("Role exists")) + frappe.throw(frappe._("User '{0}' already has the role '{1}'").format(self.parent, self.role)) diff --git a/frappe/utils/__init__.py b/frappe/utils/__init__.py index 8e88dbd731..401ec1f025 100644 --- a/frappe/utils/__init__.py +++ b/frappe/utils/__init__.py @@ -122,7 +122,9 @@ def random_string(length): def has_gravatar(email): '''Returns gravatar url if user has set an avatar at gravatar.com''' - if frappe.flags.in_upload: + if (frappe.flags.in_upload + or frappe.flags.in_install + or frappe.flags.in_test): # no gravatar if via upload # since querying gravatar for every item will be slow return diff --git a/frappe/utils/install.py b/frappe/utils/install.py index faaae414b2..c21d055c14 100644 --- a/frappe/utils/install.py +++ b/frappe/utils/install.py @@ -42,13 +42,13 @@ def install_basic_docs(): # core users / roles install_docs = [ {'doctype':'User', 'name':'Administrator', 'first_name':'Administrator', - 'email':'admin@example.com', 'enabled':1}, + 'email':'admin@example.com', 'enabled':1, + 'user_roles': [{'role': 'Administrator'}] + }, {'doctype':'User', 'name':'Guest', 'first_name':'Guest', - 'email':'guest@example.com', 'enabled':1}, - {'doctype':'UserRole', 'parent': 'Administrator', 'role': 'Administrator', - 'parenttype':'User', 'parentfield':'user_roles'}, - {'doctype':'UserRole', 'parent': 'Guest', 'role': 'Guest', - 'parenttype':'User', 'parentfield':'user_roles'}, + 'email':'guest@example.com', 'enabled':1, + 'user_roles': [{'role': 'Guest'}] + }, {'doctype': "Role", "role_name": "Report Manager"}, {'doctype': "Workflow State", "workflow_state_name": "Pending", "icon": "question-sign", "style": ""},