summaryrefslogtreecommitdiff
path: root/service/pixelated/adapter/services/mail_service.py
diff options
context:
space:
mode:
authorDuda Dornelles <ddornell@thoughtworks.com>2015-02-03 18:58:13 -0200
committerDuda Dornelles <ddornell@thoughtworks.com>2015-02-03 18:58:13 -0200
commit9e7643588e124290879a9ae82f20fa628a9c090a (patch)
treebd7979919eb1bd8be573afd2fdc8fbbf7115ad17 /service/pixelated/adapter/services/mail_service.py
parent543e43ce85bb5d8863dbbf2a458af92d21b018cf (diff)
Movinge MailsResource#render_POST logic to MailService and some search_engine calls to Mailbox
Diffstat (limited to 'service/pixelated/adapter/services/mail_service.py')
-rw-r--r--service/pixelated/adapter/services/mail_service.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/service/pixelated/adapter/services/mail_service.py b/service/pixelated/adapter/services/mail_service.py
index ab0b16bd..da74c0ef 100644
--- a/service/pixelated/adapter/services/mail_service.py
+++ b/service/pixelated/adapter/services/mail_service.py
@@ -13,6 +13,7 @@
#
# You should have received a copy of the GNU Affero General Public License
# along with Pixelated. If not, see <http://www.gnu.org/licenses/>.
+from pixelated.adapter.model.mail import InputMail
class MailService:
@@ -47,10 +48,16 @@ class MailService:
def mail_exists(self, mail_id):
return not(not(self.querier.get_header_by_chash(mail_id)))
- def send(self, mail):
+ def send_mail(self, content_dict):
+ mail = InputMail.from_dict(content_dict)
+ draft_id = content_dict.get('ident')
+
self.mail_sender.sendmail(mail)
+ sent_mail = self.move_to_sent(draft_id, mail)
+
+ return sent_mail
- def move_to_send(self, last_draft_ident, mail):
+ def move_to_sent(self, last_draft_ident, mail):
if last_draft_ident:
self.mailboxes.drafts().remove(last_draft_ident)
return self.mailboxes.sent().add(mail)