brotherton-erpnext/erpnext/patches/v5_0/newsletter.py

39 lines
1.2 KiB
Python

# 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")