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

22 lines
641 B
Python

from __future__ import unicode_literals
import frappe
def execute():
frappe.reload_doctype('Role')
frappe.reload_doctype('User')
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.flags.ignore_validate = True
user.flags.ignore_mandatory = True
user.save()