summaryrefslogtreecommitdiff
path: root/service/pixelated/controllers
diff options
context:
space:
mode:
authorDuda Dornelles <ddornell@thoughtworks.com>2014-12-23 11:28:48 -0200
committerDuda Dornelles <ddornell@thoughtworks.com>2014-12-23 11:28:48 -0200
commit0047054a53cb88bbe1b4cf2de0ebdc26daa96ade (patch)
treed2f8616eab4fe22c91f5d01e57d4203c6a3bb3f0 /service/pixelated/controllers
parent51ec3f9edc355f4b824f5eefae19f9824dde0bf8 (diff)
Refactoring soledad querier to use mixins
Diffstat (limited to 'service/pixelated/controllers')
-rw-r--r--service/pixelated/controllers/mails_controller.py19
1 files changed, 11 insertions, 8 deletions
diff --git a/service/pixelated/controllers/mails_controller.py b/service/pixelated/controllers/mails_controller.py
index 50256fa5..9d649a1f 100644
--- a/service/pixelated/controllers/mails_controller.py
+++ b/service/pixelated/controllers/mails_controller.py
@@ -60,19 +60,23 @@ class MailsController:
self._search_engine.index_mail(mail)
return ""
- def delete_mail(self, request, mail_id):
+ def _delete_mail(self, mail_id):
mail = self._mail_service.mail(mail_id)
if mail.mailbox_name == 'TRASH':
self._mail_service.delete_permanent(mail_id)
+ self._search_engine.remove_from_index(mail_id)
else:
trashed_mail = self._mail_service.delete_mail(mail_id)
self._search_engine.index_mail(trashed_mail)
+
+ def delete_mail(self, request, mail_id):
+ self._delete_mail(mail_id)
return respond_json(None, request)
def delete_mails(self, request):
idents = json.loads(request.content.read())['idents']
for ident in idents:
- self.delete_mail(request, ident)
+ self._delete_mail(ident)
return respond_json(None, request)
def send_mail(self, request):
@@ -102,17 +106,16 @@ class MailsController:
def update_draft(self, request):
content_dict = json.loads(request.content.read())
-
_mail = InputMail.from_dict(content_dict)
draft_id = content_dict.get('ident')
+
if draft_id:
- ident = self._draft_service.update_draft(draft_id, _mail).ident
+ pixelated_mail = self._draft_service.update_draft(draft_id, _mail)
self._search_engine.remove_from_index(draft_id)
else:
- ident = self._draft_service.create_draft(_mail).ident
-
- self._search_engine.index_mail(self._mail_service.mail(ident))
- return respond_json({'ident': ident}, request)
+ pixelated_mail = self._draft_service.create_draft(_mail)
+ self._search_engine.index_mail(pixelated_mail)
+ return respond_json({'ident': pixelated_mail.ident}, request)
def reply_all_template(self, request, mail_id):
mail = self._mail_service.reply_all_template(mail_id)