################################################################################### # # Copyright (c) 2017-2019 MuK IT GmbH. # # This file is part of MuK Web Notification # (see https://mukit.at). # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # ################################################################################### import logging from odoo import api, models _logger = logging.getLogger(__name__) class ImBus(models.Model): _inherit = 'bus.bus' @api.model def poll(self, channels, last=0, options=None, force_status=False): res = super(ImBus, self).poll(channels, last, options, force_status) notifications = [] for notification in res: if notification['channel'] == "notify": ids = notification['message']['user_ids'] del notification['message']['user_ids'] if not ids: notifications.append(notification) elif self.env.user.id in ids: notifications.append(notification) else: notifications.append(notification) return notifications