68 lines
2.1 KiB
Python
68 lines
2.1 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
|
|
|
|
def execute():
|
|
print "WARNING!!!! Email Settings not migrated. Please setup your email again."
|
|
|
|
# this will happen if you are migrating very old accounts
|
|
# comment out this line below and remember to create new Email Accounts
|
|
# for incoming and outgoing mails
|
|
raise Exception
|
|
|
|
return
|
|
|
|
|
|
frappe.reload_doc("core", "doctype", "outgoing_email_settings")
|
|
frappe.reload_doc("support", "doctype", "support_email_settings")
|
|
|
|
email_settings = get_email_settings()
|
|
map_outgoing_email_settings(email_settings)
|
|
map_support_email_settings(email_settings)
|
|
|
|
|
|
def map_outgoing_email_settings(email_settings):
|
|
outgoing_email_settings = frappe.get_doc("Outgoing Email Settings")
|
|
for fieldname in (("outgoing_mail_server", "mail_server"),
|
|
"use_ssl", "mail_port", "mail_login", "mail_password",
|
|
"always_use_login_id_as_sender", "auto_email_id"):
|
|
|
|
if isinstance(fieldname, tuple):
|
|
from_fieldname, to_fieldname = fieldname
|
|
else:
|
|
from_fieldname = to_fieldname = fieldname
|
|
|
|
outgoing_email_settings.set(to_fieldname, email_settings.get(from_fieldname))
|
|
|
|
outgoing_email_settings._fix_numeric_types()
|
|
outgoing_email_settings.save()
|
|
|
|
def map_support_email_settings(email_settings):
|
|
support_email_settings = frappe.get_doc("Support Email Settings")
|
|
|
|
for fieldname in ("sync_support_mails", "support_email",
|
|
("support_host", "mail_server"),
|
|
("support_use_ssl", "use_ssl"),
|
|
("support_username", "mail_login"),
|
|
("support_password", "mail_password"),
|
|
"support_signature", "send_autoreply", "support_autoreply"):
|
|
|
|
if isinstance(fieldname, tuple):
|
|
from_fieldname, to_fieldname = fieldname
|
|
else:
|
|
from_fieldname = to_fieldname = fieldname
|
|
|
|
support_email_settings.set(to_fieldname, email_settings.get(from_fieldname))
|
|
|
|
support_email_settings._fix_numeric_types()
|
|
support_email_settings.save()
|
|
|
|
def get_email_settings():
|
|
ret = {}
|
|
for field, value in frappe.db.sql("select field, value from tabSingles where doctype='Email Settings'"):
|
|
ret[field] = value
|
|
return ret
|
|
|