Переглянути джерело

fix: fetch values from email domain for email account

* chore: remove dead code related to fetching the same

(cherry picked from commit a3cd00a3ed)
version-14
phot0n 2 роки тому
committed by Mergify
джерело
коміт
5477340e9e
2 змінених файлів з 29 додано та 55 видалено
  1. +15
    -35
      frappe/email/doctype/email_account/email_account.js
  2. +14
    -20
      frappe/email/doctype/email_account/email_account.py

+ 15
- 35
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;
}

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]);
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]);
}
}
},
});
}

delete frappe.route_flags.set_domain_values;
frappe.route_options = {};
},

email_sync_option: function (frm) {


+ 14
- 20
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."""


Завантаження…
Відмінити
Зберегти