Make email account patch

This commit is contained in:
Nabin Hait 2014-11-12 17:00:42 +05:30
parent 4cd60d7d61
commit a6a70a5f35
2 changed files with 57 additions and 53 deletions

View File

@ -89,6 +89,7 @@ erpnext.patches.v4_2.recalculate_bom_cost
erpnext.patches.v4_2.fix_gl_entries_for_stock_transactions erpnext.patches.v4_2.fix_gl_entries_for_stock_transactions
erpnext.patches.v4_2.update_requested_and_ordered_qty erpnext.patches.v4_2.update_requested_and_ordered_qty
erpnext.patches.v4_2.party_model erpnext.patches.v4_2.party_model
erpnext.patches.v4_4.make_email_accounts
erpnext.patches.v5_0.update_frozen_accounts_permission_role erpnext.patches.v5_0.update_frozen_accounts_permission_role
erpnext.patches.v5_0.update_dn_against_doc_fields erpnext.patches.v5_0.update_dn_against_doc_fields
execute:frappe.db.sql("update `tabMaterial Request` set material_request_type = 'Material Transfer' where material_request_type = 'Transfer'") execute:frappe.db.sql("update `tabMaterial Request` set material_request_type = 'Material Transfer' where material_request_type = 'Transfer'")

View File

@ -4,69 +4,72 @@ def execute():
frappe.reload_doc("email", "doctype", "email_account") frappe.reload_doc("email", "doctype", "email_account")
# outgoing # outgoing
outgoing = frappe.get_doc("Outgoing Email Settings") if frappe.db.exists("DocType", "Outgoing Email Settings"):
account = frappe.new_doc("Email Account") outgoing = dict(frappe.db.sql("select field, value from tabSingles where doctype='Outgoing Email Settings'"))
mapping = {
"email_id": "mail_login",
"password": "mail_password",
"footer": "footer",
"smtp_server": "mail_server",
"smtp_port": "mail_port",
"use_tls": "use_ssl"
}
for target_fieldname, source_fieldname in mapping.iteritems():
account.set(target_fieldname, outgoing.get(source_fieldname))
account.enable_outgoing = 1
account.enable_incoming = 0
account.is_global = 1
account.insert()
# support
support = frappe.get_doc("Support Email Settings")
account = frappe.new_doc("Email Account")
mapping = {
"enable_incoming": "sync_support_mails",
"email_id": "mail_login",
"password": "mail_password",
"pop3_server": "mail_server",
"use_ssl": "use_ssl",
"signature": "support_signature",
"enable_auto_reply": "send_autoreply",
"auto_reply_message": "support_autoreply"
}
for target_fieldname, source_fieldname in mapping.iteritems():
account.set(target_fieldname, support.get(source_fieldname))
account.enable_outgoing = 0
account.is_global = 1
account.insert()
# sales, jobs
for doctype in ("Sales Email Settings", "Jobs Email Settings"):
source = frappe.get_doc(doctype)
account = frappe.new_doc("Email Account") account = frappe.new_doc("Email Account")
mapping = { mapping = {
"enable_incoming": "extract_emails", "email_id": "mail_login",
"email_id": "username", "password": "mail_password",
"password": "password", "footer": "footer",
"pop3_server": "host", "smtp_server": "mail_server",
"use_ssl": "use_ssl", "smtp_port": "mail_port",
"use_tls": "use_ssl"
} }
for target_fieldname, source_fieldname in mapping.iteritems(): for target_fieldname, source_fieldname in mapping.iteritems():
account.set(target_fieldname, source.get(source_fieldname)) account.set(target_fieldname, outgoing.get(source_fieldname))
account.enable_outgoing = 1
account.enable_incoming = 0
account.is_global = 1
account.insert()
# support
if frappe.db.exists("DocType", "Support Email Settings"):
support = dict(frappe.db.sql("select field, value from tabSingles where doctype='Support Email Settings'"))
account = frappe.new_doc("Email Account")
mapping = {
"enable_incoming": "sync_support_mails",
"email_id": "mail_login",
"password": "mail_password",
"pop3_server": "mail_server",
"use_ssl": "use_ssl",
"signature": "support_signature",
"enable_auto_reply": "send_autoreply",
"auto_reply_message": "support_autoreply"
}
for target_fieldname, source_fieldname in mapping.iteritems():
account.set(target_fieldname, support.get(source_fieldname))
account.enable_outgoing = 0 account.enable_outgoing = 0
account.is_global = 1 account.is_global = 1
account.append_to = "Lead" if doctype=="Sales Email Settings" else "Job Applicant"
account.insert() account.insert()
# sales, jobs
for doctype in ("Sales Email Settings", "Jobs Email Settings"):
if frappe.db.exists("DocType", doctype):
source = dict(frappe.db.sql("select field, value from tabSingles where doctype=%s", doctype))
account = frappe.new_doc("Email Account")
mapping = {
"enable_incoming": "extract_emails",
"email_id": "username",
"password": "password",
"pop3_server": "host",
"use_ssl": "use_ssl",
}
for target_fieldname, source_fieldname in mapping.iteritems():
account.set(target_fieldname, source.get(source_fieldname))
account.enable_outgoing = 0
account.is_global = 1
account.append_to = "Lead" if doctype=="Sales Email Settings" else "Job Applicant"
account.insert()
for doctype in ("Outgoing Email Settings", "Support Email Settings", for doctype in ("Outgoing Email Settings", "Support Email Settings",
"Sales Email Settings", "Jobs Email Settings"): "Sales Email Settings", "Jobs Email Settings"):
frappe.delete_doc("DocType", doctype) frappe.delete_doc("DocType", doctype)