summaryrefslogtreecommitdiff
path: root/service/pixelated
diff options
context:
space:
mode:
authorAlexandre Pretto Nunes <anunes@thoughtworks.com>2014-11-27 17:37:14 -0200
committerAlexandre Pretto Nunes <anunes@thoughtworks.com>2014-12-03 15:52:05 -0200
commit9e53c0ddcdd5cd74cda0e9cb6cb05183adbe579c (patch)
tree63b3ee451a871e87f38a1d6975dced273390cde5 /service/pixelated
parent56565e49ed72f88e6dd0d54acdbcb3cfe4d1b95b (diff)
#135 Have the service respond the email details with who should be on to: and cc: when replying
Diffstat (limited to 'service/pixelated')
-rw-r--r--service/pixelated/adapter/mail.py21
1 files changed, 14 insertions, 7 deletions
diff --git a/service/pixelated/adapter/mail.py b/service/pixelated/adapter/mail.py
index 092b4970..a5f0d5d2 100644
--- a/service/pixelated/adapter/mail.py
+++ b/service/pixelated/adapter/mail.py
@@ -214,7 +214,11 @@ class PixelatedMail(Mail):
@property
def headers(self):
- _headers = {}
+ _headers = {
+ 'To': [],
+ 'Cc': [],
+ 'Bcc': []
+ }
hdoc_headers = self.hdoc.content['headers']
for header in ['To', 'Cc', 'Bcc']:
@@ -320,10 +324,13 @@ class PixelatedMail(Mail):
def as_dict(self):
dict_mail = super(PixelatedMail, self).as_dict()
- recipients = dict_mail['header']['to'][0]
- for recipient in recipients:
- if recipient == InputMail.FROM_EMAIL_ADDRESS:
- recipients.remove(recipient)
- dict_mail['header']['to'][0] = recipients
- dict_mail['header']['subject'] = 'Re: %s' % dict_mail['header']['subject']
+ dict_mail['replying'] = {'single': None, 'all': {'to-field': [], 'cc-field': []}}
+
+ recipients = [recipient for recipient in self.headers['To'] if recipient != InputMail.FROM_EMAIL_ADDRESS]
+ recipients.append(self.headers['From'])
+ ccs = [cc for cc in self.headers['Cc'] if cc != InputMail.FROM_EMAIL_ADDRESS]
+
+ dict_mail['replying']['single'] = self.headers['From']
+ dict_mail['replying']['all']['to-field'] = recipients
+ dict_mail['replying']['all']['cc-field'] = ccs
return dict_mail