From a3cd00a3edbeb708f2d4c2a80ae0681c2a896c14 Mon Sep 17 00:00:00 2001 From: phot0n Date: Fri, 19 Aug 2022 20:40:58 +0530 Subject: [PATCH] fix: fetch values from email domain for email account * chore: remove dead code related to fetching the same --- .../doctype/email_account/email_account.js | 50 ++++++------------- .../doctype/email_account/email_account.py | 34 ++++++------- 2 files changed, 29 insertions(+), 55 deletions(-) diff --git a/frappe/email/doctype/email_account/email_account.js b/frappe/email/doctype/email_account/email_account.js index 3e42af7051..673afc5618 100644 --- a/frappe/email/doctype/email_account/email_account.js +++ b/frappe/email/doctype/email_account/email_account.js @@ -158,7 +158,6 @@ frappe.ui.form.on("Email Account", { }, refresh: function (frm) { - frm.events.set_domain_fields(frm); frm.events.enable_incoming(frm); frm.events.notify_if_unreplied(frm); frm.events.show_gmail_message_for_less_secure_apps(frm); @@ -211,41 +210,22 @@ frappe.ui.form.on("Email Account", { oauth_access(frm); }, - email_id: function (frm) { - //pull domain and if no matching domain go create one - frm.events.update_domain(frm); - }, - - update_domain: function (frm) { - if (!frm.doc.email_id && !frm.doc.service) { - return; + domain: function (frm) { + if (frm.doc.domain) { + frappe.call({ + method: "get_domain_values", + args: { + domain: frm.doc.domain, + }, + callback: function (r) { + if (!r.exc) { + for (let field in r.message) { + frm.set_value(field, r.message[field]); + } + } + }, + }); } - - frappe.call({ - method: "get_domain", - doc: frm.doc, - args: { - email_id: frm.doc.email_id, - }, - callback: function (r) { - if (r.message) { - frm.events.set_domain_fields(frm, r.message); - } - }, - }); - }, - - set_domain_fields: function (frm, args) { - if (!args) { - args = frappe.route_flags.set_domain_values ? frappe.route_options : {}; - } - - for (var field in args) { - frm.set_value(field, args[field]); - } - - delete frappe.route_flags.set_domain_values; - frappe.route_options = {}; }, email_sync_option: function (frm) { diff --git a/frappe/email/doctype/email_account/email_account.py b/frappe/email/doctype/email_account/email_account.py index 15eba0faa5..769c2fcd5d 100755 --- a/frappe/email/doctype/email_account/email_account.py +++ b/frappe/email/doctype/email_account/email_account.py @@ -179,26 +179,20 @@ class EmailAccount(Document): email_account.save() @frappe.whitelist() - def get_domain(self, email_id): - """look-up the domain and then full""" - try: - domain = email_id.split("@") - fields = [ - "name as domain", - "use_imap", - "email_server", - "use_ssl", - "use_starttls", - "smtp_server", - "use_tls", - "smtp_port", - "incoming_port", - "append_emails_to_sent_folder", - "use_ssl_for_outgoing", - ] - return frappe.db.get_value("Email Domain", domain[1], fields, as_dict=True) - except Exception: - pass + def get_domain_values(self, domain: str): + fields = [ + "use_imap", + "email_server", + "use_ssl", + "use_starttls", + "smtp_server", + "use_tls", + "smtp_port", + "incoming_port", + "append_emails_to_sent_folder", + "use_ssl_for_outgoing", + ] + return frappe.db.get_value("Email Domain", domain, fields, as_dict=True) def get_incoming_server(self, in_receive=False, email_sync_rule="UNSEEN"): """Returns logged in POP3/IMAP connection object."""