# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors # License: GNU General Public License v3. See license.txt from __future__ import unicode_literals import frappe import frappe.permissions def execute(): frappe.reload_doc("core", "doctype", "block_module") frappe.reload_doctype("User") frappe.reload_doctype("Lead") frappe.reload_doctype("Contact") frappe.reload_doc('email', 'doctype', 'email_group') frappe.reload_doc('email', 'doctype', 'email_group_member') frappe.reload_doc('email', 'doctype', 'newsletter') frappe.permissions.reset_perms("Newsletter") if not frappe.db.exists("Role", "Newsletter Manager"): frappe.get_doc({"doctype": "Role", "role": "Newsletter Manager"}).insert() for userrole in frappe.get_all("Has Role", "parent", {"role": "Sales Manager", "parenttype": "User"}): if frappe.db.exists("User", userrole.parent): user = frappe.get_doc("User", userrole.parent) user.append("roles", { "doctype": "Has Role", "role": "Newsletter Manager" }) user.flags.ignore_mandatory = True user.save() # create default lists general = frappe.new_doc("Email Group") general.title = "General" general.insert() general.import_from("Lead") general.import_from("Contact")