22 lines
		
	
	
		
			628 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			628 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| 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.set_default_roles()
 | |
| 		user.flags.ignore_validate = True
 | |
| 		user.flags.ignore_mandatory = True
 | |
| 		user.save()
 | |
| 
 | |
| 
 |