From: shamoon <4887959+shamoon@users.noreply.github.com> Date: Wed, 7 Jun 2023 03:00:31 +0000 (-0700) Subject: Return default 'ALL' mailbox criterias for some imap servers X-Git-Tag: v1.16.0~1^2~11^2 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F3554%2Fhead;p=thirdparty%2Fpaperless-ngx.git Return default 'ALL' mailbox criterias for some imap servers --- diff --git a/src/paperless_mail/mail.py b/src/paperless_mail/mail.py index b525ef91d3..bfb306e5ab 100644 --- a/src/paperless_mail/mail.py +++ b/src/paperless_mail/mail.py @@ -384,6 +384,8 @@ def make_criterias(rule: MailRule, supports_gmail_labels: bool): if isinstance(rule_query, dict): if len(rule_query) or len(criterias): return AND(**rule_query, **criterias) + else: + return "ALL" else: return AND(rule_query, **criterias) diff --git a/src/paperless_mail/tests/test_mail.py b/src/paperless_mail/tests/test_mail.py index e69dbbef8f..82b874fd80 100644 --- a/src/paperless_mail/tests/test_mail.py +++ b/src/paperless_mail/tests/test_mail.py @@ -721,6 +721,31 @@ class TestMail( self.assertEqual(len(self.bogus_mailbox.messages), 2) self.assertEqual(len(self.bogus_mailbox.messages_spam), 1) + def test_handle_mail_account_move_no_filters(self): + account = MailAccount.objects.create( + name="test", + imap_server="", + username="admin", + password="secret", + ) + + _ = MailRule.objects.create( + name="testrule", + account=account, + action=MailRule.MailAction.MOVE, + action_parameter="spam", + maximum_age=0, + ) + + self.assertEqual(len(self.bogus_mailbox.messages), 3) + self.assertEqual(len(self.bogus_mailbox.messages_spam), 0) + + self.mail_account_handler.handle_mail_account(account) + self.apply_mail_actions() + + self.assertEqual(len(self.bogus_mailbox.messages), 0) + self.assertEqual(len(self.bogus_mailbox.messages_spam), 3) + def test_handle_mail_account_tag(self): account = MailAccount.objects.create( name="test",