diff options
author | Alexandre Pretto Nunes <anunes@thoughtworks.com> | 2014-11-27 17:37:14 -0200 |
---|---|---|
committer | Alexandre Pretto Nunes <anunes@thoughtworks.com> | 2014-12-03 15:52:05 -0200 |
commit | 9e53c0ddcdd5cd74cda0e9cb6cb05183adbe579c (patch) | |
tree | 63b3ee451a871e87f38a1d6975dced273390cde5 /service/pixelated | |
parent | 56565e49ed72f88e6dd0d54acdbcb3cfe4d1b95b (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.py | 21 |
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 |