brotherton-erpnext/erpnext/patches/v7_1/update_portal_roles.py

21 lines
597 B
Python

import frappe
def execute():
frappe.reload_doctype('Role')
for role_name in ('Customer', 'Supplier', 'Student'):
if frappe.db.exists('Role', role_name):
frappe.db.set_value('Role', role_name, 'desk_access', 0)
else:
frappe.get_doc(dict(doctype='Role', role_name=role_name, desk_access=0)).insert()
# set customer, supplier roles
for c in frappe.get_all('Contact', fields=['user'], filters={'ifnull(user, "")': ('!=', '')}):
user = frappe.get_doc('User', c.user)
user.set_default_roles()
user.flags.ignore_validate = True
user.flags.ignore_mandatory = True
user.save()