Merge pull request #17089 from gavindsouza/misc-fixes-10
fix(email): Maintain multi-tenancy translation sanity in error messages
This commit is contained in:
commit
e533925eae
4 changed files with 25 additions and 39 deletions
|
|
@ -298,8 +298,6 @@ def apply(doc=None, method=None, doctype=None, name=None):
|
|||
if reopened:
|
||||
break
|
||||
|
||||
# print(f"Rule:{assignment_rule}\nDoc: {doc}\nReOpened: {reopened}")
|
||||
|
||||
assignment_rule.close_assignments(doc)
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -22,14 +22,6 @@ if TYPE_CHECKING:
|
|||
from frappe.core.doctype.communication.communication import Communication
|
||||
|
||||
|
||||
OUTGOING_EMAIL_ACCOUNT_MISSING = _(
|
||||
"""
|
||||
Unable to send mail because of a missing email account.
|
||||
Please setup default Email Account from Setup > Email > Email Account
|
||||
"""
|
||||
)
|
||||
|
||||
|
||||
@frappe.whitelist()
|
||||
def make(
|
||||
doctype=None,
|
||||
|
|
@ -170,7 +162,12 @@ def _make(
|
|||
|
||||
if cint(send_email):
|
||||
if not comm.get_outgoing_email_account():
|
||||
frappe.throw(msg=OUTGOING_EMAIL_ACCOUNT_MISSING, exc=frappe.OutgoingEmailError)
|
||||
frappe.throw(
|
||||
_(
|
||||
"Unable to send mail because of a missing email account. Please setup default Email Account from Setup > Email > Email Account"
|
||||
),
|
||||
exc=frappe.OutgoingEmailError,
|
||||
)
|
||||
|
||||
comm.send_email(
|
||||
print_html=print_html,
|
||||
|
|
|
|||
|
|
@ -23,10 +23,6 @@ from frappe.utils.error import raise_error_on_no_output
|
|||
from frappe.utils.jinja import render_template
|
||||
from frappe.utils.user import get_system_managers
|
||||
|
||||
OUTGOING_EMAIL_ACCOUNT_MISSING = _(
|
||||
"Please setup default Email Account from Setup > Email > Email Account"
|
||||
)
|
||||
|
||||
|
||||
class SentEmailInInbox(Exception):
|
||||
pass
|
||||
|
|
@ -319,7 +315,7 @@ class EmailAccount(Document):
|
|||
@classmethod
|
||||
@raise_error_on_no_output(
|
||||
keep_quiet=lambda: not cint(frappe.get_system_settings("setup_complete")),
|
||||
error_message=OUTGOING_EMAIL_ACCOUNT_MISSING,
|
||||
error_message=_("Please setup default Email Account from Setup > Email > Email Account"),
|
||||
error_type=frappe.OutgoingEmailError,
|
||||
) # noqa
|
||||
@cache_email_account("outgoing_email_account")
|
||||
|
|
|
|||
|
|
@ -1,24 +1,12 @@
|
|||
# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
|
||||
# Copyright (c) 2022, Frappe Technologies Pvt. Ltd. and Contributors
|
||||
# License: MIT. See LICENSE
|
||||
|
||||
import smtplib
|
||||
|
||||
import _socket
|
||||
|
||||
import frappe
|
||||
from frappe import _
|
||||
from frappe.utils import cint, cstr
|
||||
|
||||
CONNECTION_FAILED = _("Could not connect to outgoing email server")
|
||||
AUTH_ERROR_TITLE = _("Invalid Credentials")
|
||||
AUTH_ERROR = _("Incorrect email or password. Please check your login credentials.")
|
||||
SOCKET_ERROR_TITLE = _("Incorrect Configuration")
|
||||
SOCKET_ERROR = _("Invalid Outgoing Mail Server or Port")
|
||||
SEND_MAIL_FAILED = _("Unable to send emails at this time")
|
||||
EMAIL_ACCOUNT_MISSING = _(
|
||||
"Email Account not setup. Please create a new Email Account from Setup > Email > Email Account"
|
||||
)
|
||||
|
||||
|
||||
class InvalidEmailCredentials(frappe.ValidationError):
|
||||
pass
|
||||
|
|
@ -65,7 +53,12 @@ class SMTPServer:
|
|||
self._session = None
|
||||
|
||||
if not self.server:
|
||||
frappe.msgprint(EMAIL_ACCOUNT_MISSING, raise_exception=frappe.OutgoingEmailError)
|
||||
frappe.msgprint(
|
||||
_(
|
||||
"Email Account not setup. Please create a new Email Account from Setup > Email > Email Account"
|
||||
),
|
||||
raise_exception=frappe.OutgoingEmailError,
|
||||
)
|
||||
|
||||
@property
|
||||
def port(self):
|
||||
|
|
@ -93,7 +86,9 @@ class SMTPServer:
|
|||
try:
|
||||
_session = SMTP(self.server, self.port)
|
||||
if not _session:
|
||||
frappe.msgprint(CONNECTION_FAILED, raise_exception=frappe.OutgoingEmailError)
|
||||
frappe.msgprint(
|
||||
_("Could not connect to outgoing email server"), raise_exception=frappe.OutgoingEmailError
|
||||
)
|
||||
|
||||
self.secure_session(_session)
|
||||
if self.login and self.password:
|
||||
|
|
@ -106,16 +101,12 @@ class SMTPServer:
|
|||
self._session = _session
|
||||
return self._session
|
||||
|
||||
except smtplib.SMTPAuthenticationError as e:
|
||||
except smtplib.SMTPAuthenticationError:
|
||||
self.throw_invalid_credentials_exception()
|
||||
|
||||
except _socket.error as e:
|
||||
except OSError:
|
||||
# Invalid mail server -- due to refusing connection
|
||||
frappe.throw(SOCKET_ERROR, title=SOCKET_ERROR_TITLE)
|
||||
|
||||
except smtplib.SMTPException:
|
||||
frappe.msgprint(SEND_MAIL_FAILED)
|
||||
raise
|
||||
frappe.throw(_("Invalid Outgoing Mail Server or Port"), title=_("Incorrect Configuration"))
|
||||
|
||||
def is_session_active(self):
|
||||
if self._session:
|
||||
|
|
@ -130,4 +121,8 @@ class SMTPServer:
|
|||
|
||||
@classmethod
|
||||
def throw_invalid_credentials_exception(cls):
|
||||
frappe.throw(AUTH_ERROR, title=AUTH_ERROR_TITLE, exc=InvalidEmailCredentials)
|
||||
frappe.throw(
|
||||
_("Incorrect email or password. Please check your login credentials."),
|
||||
title=_("Invalid Credentials"),
|
||||
exc=InvalidEmailCredentials,
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue