Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/mail.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Wurst <christoph@winzerhof-wurst.at>2020-08-11 22:10:49 +0300
committerChristoph Wurst <christoph@winzerhof-wurst.at>2020-08-24 21:21:40 +0300
commit9498ebac6eccde201526b9a6131a76c02ca5db62 (patch)
tree7256f1fc6de4dee185f5cc116e45247cf27f28cb /lib/Listener
parent430500712496242526eed2aedb5afc42d60ca1b9 (diff)
Rework the routing
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
Diffstat (limited to 'lib/Listener')
-rw-r--r--lib/Listener/DeleteDraftListener.php16
1 files changed, 9 insertions, 7 deletions
diff --git a/lib/Listener/DeleteDraftListener.php b/lib/Listener/DeleteDraftListener.php
index 0e76adec6..9758a0fa0 100644
--- a/lib/Listener/DeleteDraftListener.php
+++ b/lib/Listener/DeleteDraftListener.php
@@ -30,6 +30,7 @@ use Horde_Imap_Client_Exception;
use OCA\Mail\Account;
use OCA\Mail\Db\Mailbox;
use OCA\Mail\Db\MailboxMapper;
+use OCA\Mail\Db\Message;
use OCA\Mail\Events\DraftSavedEvent;
use OCA\Mail\Events\MessageSentEvent;
use OCA\Mail\IMAP\IMAPClientFactory;
@@ -70,17 +71,18 @@ class DeleteDraftListener implements IEventListener {
}
public function handle(Event $event): void {
- if ($event instanceof DraftSavedEvent && $event->getDraftUid() !== null) {
- $this->deleteDraft($event->getAccount(), $event->getDraftUid());
- } elseif ($event instanceof MessageSentEvent && $event->getDraftUid() !== null) {
- $this->deleteDraft($event->getAccount(), $event->getDraftUid());
+ if ($event instanceof DraftSavedEvent && $event->getDraft() !== null) {
+ $this->deleteDraft($event->getAccount(), $event->getDraft());
+ } elseif ($event instanceof MessageSentEvent && $event->getDraft() !== null) {
+ $this->deleteDraft($event->getAccount(), $event->getDraft());
}
}
/**
- * @param DraftSavedEvent $event
+ * @param Account $account
+ * @param Message $draft
*/
- private function deleteDraft(Account $account, int $draftUid): void {
+ private function deleteDraft(Account $account, Message $draft): void {
$client = $this->imapClientFactory->getClient($account);
$draftsMailbox = $this->getDraftsMailbox($account);
@@ -88,7 +90,7 @@ class DeleteDraftListener implements IEventListener {
$this->messageMapper->addFlag(
$client,
$draftsMailbox,
- $draftUid,
+ $draft->getUid(), // TODO: the UID could be from another mailbox
Horde_Imap_Client::FLAG_DELETED
);
} catch (Horde_Imap_Client_Exception $e) {