From 9e53c0ddcdd5cd74cda0e9cb6cb05183adbe579c Mon Sep 17 00:00:00 2001 From: Alexandre Pretto Nunes Date: Thu, 27 Nov 2014 17:37:14 -0200 Subject: #135 Have the service respond the email details with who should be on to: and cc: when replying --- service/pixelated/adapter/mail.py | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'service/pixelated') 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 -- cgit v1.2.3