Pārlūkot izejas kodu

[cleanup] simplify role setting for user

version-14
Rushabh Mehta pirms 8 gadiem
vecāks
revīzija
7fff0908a4
2 mainītis faili ar 6 papildinājumiem un 38 dzēšanām
  1. +5
    -37
      frappe/core/doctype/user/user.py
  2. +1
    -1
      frappe/email/doctype/contact/test_records.json

+ 5
- 37
frappe/core/doctype/user/user.py Parādīt failu

@@ -41,14 +41,11 @@ class User(Document):
def before_insert(self):
self.flags.in_insert = True

def after_insert(self):
self.set_default_roles()

def force_user_email_update(self):
for user_email in self.user_emails:
if not user_email.email_id:
user_email.email_id = frappe.db.get_value("Email Account", {"name": user_email.email_account},
"email_id")
user_email.email_id = frappe.db.get_value("Email Account",
{"name": user_email.email_account}, "email_id")

def user_emails_to_permissions(self):
if frappe.session.user == "Administrator" or "System Manager" in frappe.get_roles():
@@ -127,33 +124,6 @@ class User(Document):
if not cint(self.enabled) and getattr(frappe.local, "login_manager", None):
frappe.local.login_manager.logout(user=self.name)

def set_default_roles(self):
"""Set a default role if specified by rules (`default_role`) in hooks or Portal Settings

Hooks for default roles can be set as:

default_roles = [
{'role': 'Customer', 'doctype':'Contact', 'email_field': 'email_id',
'filters': {'ifnull(customer, "")': ('!=', '')}}
]

"""
role_found = False
for rule in frappe.get_hooks('default_roles'):
filters = {rule.get('email_field'): self.email}
if rule.get('filters'):
filters.update(rule.get('filters'))

match = frappe.get_all(rule.get('doctype'), filters=filters, limit=1)
if match:
role_found = True
self.add_roles(rule.get('role'))

if not role_found:
default_role = frappe.db.get_single_value('Portal Settings', 'default_role')
if default_role:
self.add_roles(default_role)

def add_system_manager_role(self):
# if adding system manager, do nothing
if not cint(self.enabled) or ("System Manager" in [user_role.role for user_role in
@@ -586,18 +556,16 @@ def get_email_awaiting(user):

@frappe.whitelist(allow_guest=False)
def set_email_password(email_account, user, password):
account = frappe.get_doc("Email Account",
email_account)
account = frappe.get_doc("Email Account", email_account)
if account.awaiting_password:
account.set("awaiting_password",0)
account.set("password",password)
try:
validate = account.validate()
save= account.save(ignore_permissions=True)
account.save(ignore_permissions=True)
frappe.db.sql("""update `tabUser Email` set awaiting_password = 0
where email_account = %(account)s""",{"account": email_account})
ask_pass_update()
except Exception, e:
except Exception:
frappe.db.rollback()
return False
return True


+ 1
- 1
frappe/email/doctype/contact/test_records.json Parādīt failu

@@ -13,6 +13,6 @@
"first_name": "_Test Contact For _Test Supplier",
"is_primary_contact": 1,
"phone": "+91 0000000000",
"status": "Open",
"status": "Open"
}
]

Notiek ielāde…
Atcelt
Saglabāt