From ec4f7bc2156dcda1b14fd1bcebd116e08b393fd2 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Wed, 19 Sep 2018 23:22:55 +0200 Subject: [PATCH] [FIX] mail: block negative search for `need_moderation` Other operators can only cause nonsensical results, while causing useless slow queries. This is only really meant as a shortcut for getting messages to moderate. --- addons/mail/models/mail_message.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/addons/mail/models/mail_message.py b/addons/mail/models/mail_message.py index b840897e493..aa8c7118125 100644 --- a/addons/mail/models/mail_message.py +++ b/addons/mail/models/mail_message.py @@ -175,15 +175,14 @@ class Message(models.Model): @api.model def _search_need_moderation(self, operator, operand): - if operator == '=' and operand: + if operator == '=' and operand is True: return ['&', '&', ('moderation_status', '=', 'pending_moderation'), ('model', '=', 'mail.channel'), ('res_id', 'in', self.env.user.moderation_channel_ids.ids)] - return ['|', '|', - ('moderation_status', '!=', 'pending_moderation'), - ('model', '!=', 'mail.channel'), - ('res_id', 'not in', self.env.user.moderation_channel_ids.ids)] + + # no support for other operators + return ValueError(_('Unsupported search filter on moderation status')) #------------------------------------------------------ # Notification API