Selaa lähdekoodia

Merge pull request #1356 from anandpdoshi/email-cc-message

[fix] Show CC in the footer
version-14
Nabin Hait 9 vuotta sitten
vanhempi
commit
4eafa9db25
3 muutettua tiedostoa jossa 26 lisäystä ja 13 poistoa
  1. +12
    -6
      frappe/core/doctype/communication/communication.py
  2. +14
    -6
      frappe/email/bulk.py
  3. +0
    -1
      frappe/templates/emails/standard.html

+ 12
- 6
frappe/core/doctype/communication/communication.py Näytä tiedosto

@@ -132,9 +132,10 @@ class Communication(Document):
def get_recipients_and_cc(self, recipients, cc, fetched_from_email_account=False):
self.all_email_addresses = []
self.sent_email_addresses = []
self.previous_email_sender = None

if not recipients:
recipients = self.get_recipients()
recipients = self.get_recipients(fetched_from_email_account=fetched_from_email_account)

if not cc:
cc = self.get_cc(recipients, fetched_from_email_account=fetched_from_email_account)
@@ -143,6 +144,10 @@ class Communication(Document):
# email was already sent to the original recipient by the sender's email service
original_recipients, recipients = recipients, []

# send email to the sender of the previous email in the thread which this email is a reply to
if self.previous_email_sender:
recipients.append(self.previous_email_sender)

# cc that was received in the email
original_cc = split_emails(self.cc)

@@ -206,11 +211,16 @@ class Communication(Document):
{"default_outgoing": 1, "enable_outgoing": 1},
["email_id", "always_use_account_email_id_as_sender"], as_dict=True) or frappe._dict()

def get_recipients(self):
def get_recipients(self, fetched_from_email_account=False):
"""Build a list of email addresses for To"""
# [EDGE CASE] self.recipients can be None when an email is sent as BCC
recipients = split_emails(self.recipients)

if fetched_from_email_account and self.in_reply_to:
# add sender of previous reply
self.previous_email_sender = frappe.db.get_value("Communication", self.in_reply_to, "sender")
recipients.append(self.previous_email_sender)

if recipients:
# exclude email accounts
exclude = [d[0] for d in
@@ -235,10 +245,6 @@ class Communication(Document):
cc += self.get_assignees()
cc += self.get_starrers()

if fetched_from_email_account and self.in_reply_to:
# add sender of previous reply
cc.append(frappe.db.get_value("Communication", self.in_reply_to, "sender"))

if cc:
# exclude email accounts, unfollows, recipients and unsubscribes
exclude = [d[0] for d in


+ 14
- 6
frappe/email/bulk.py Näytä tiedosto

@@ -83,7 +83,8 @@ def send(recipients=None, sender=None, subject=None, message=None, reference_doc
expose_recipients=expose_recipients,
unsubscribe_method=unsubscribe_method,
unsubscribe_params=unsubscribe_params,
unsubscribe_message=unsubscribe_message
unsubscribe_message=unsubscribe_message,
show_as_cc=show_as_cc
)

email_content = email_content.replace("<!--unsubscribe link here-->", unsubscribe_link.html)
@@ -148,10 +149,17 @@ def check_bulk_limit(recipients):
BulkLimitCrossedError)

def get_unsubscribe_link(reference_doctype, reference_name,
email, recipients, expose_recipients, unsubscribe_method, unsubscribe_params, unsubscribe_message):
email, recipients, expose_recipients, show_as_cc,
unsubscribe_method, unsubscribe_params, unsubscribe_message):

unsubscribe_email = recipients if expose_recipients else [email]
unsubscribe_email = _("This email was sent to {0}").format(", ".join(unsubscribe_email))
email_sent_to = recipients if expose_recipients else [email]
email_sent_cc = ", ".join([e for e in email_sent_to if e in show_as_cc])
email_sent_to = ", ".join([e for e in email_sent_to if e not in show_as_cc])

if email_sent_cc:
email_sent_message = _("This email was sent to {0} and copied to {1}").format(email_sent_to, email_sent_cc)
else:
email_sent_message = _("This email was sent to {0}").format(email_sent_to)

if not unsubscribe_message:
unsubscribe_message = _("Unsubscribe from this list")
@@ -168,12 +176,12 @@ def get_unsubscribe_link(reference_doctype, reference_name,
</p>
</div>""".format(
unsubscribe_url = unsubscribe_url,
email=unsubscribe_email,
email=email_sent_message,
unsubscribe_message=unsubscribe_message
)

text = "\n{email}\n\n{unsubscribe_message}: {unsubscribe_url}".format(
email=unsubscribe_email,
email=email_sent_message,
unsubscribe_message=unsubscribe_message,
unsubscribe_url=unsubscribe_url
)


+ 0
- 1
frappe/templates/emails/standard.html Näytä tiedosto

@@ -8,7 +8,6 @@
<body style="line-height: 1.5; color: #36414C;">
<!-- body -->
<div style="font-family: Helvetica, Arial, sans-serif; font-size: 14px; padding: 10px;">
<em><!-- cc message --></em>
{{ content }}
{{ signature }}
</div>


Ladataan…
Peruuta
Tallenna