diff --git a/mail_activity_done/models/__init__.py b/mail_activity_done/models/__init__.py index a28b2462f3..1ff3880296 100644 --- a/mail_activity_done/models/__init__.py +++ b/mail_activity_done/models/__init__.py @@ -1,2 +1 @@ from . import mail_activity -from . import res_users diff --git a/mail_activity_done/models/res_users.py b/mail_activity_done/models/res_users.py deleted file mode 100644 index 986decb7d1..0000000000 --- a/mail_activity_done/models/res_users.py +++ /dev/null @@ -1,59 +0,0 @@ -# Copyright 2018-22 ForgeFlow -# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html). -from odoo import api, fields, models, modules - - -class ResUsers(models.Model): - _inherit = "res.users" - - @api.model - def systray_get_activities(self): - # Here we totally override the method. Not very nice, but - # we should perhaps ask Odoo to add a hook here. - query = """SELECT m.id, count(*), act.res_model as model, - CASE - WHEN %(today)s::date - - act.date_deadline::date = 0 Then 'today' - WHEN %(today)s::date - - act.date_deadline::date > 0 Then 'overdue' - WHEN %(today)s::date - - act.date_deadline::date < 0 Then 'planned' - END AS states - FROM mail_activity AS act - JOIN ir_model AS m ON act.res_model_id = m.id - WHERE user_id = %(user_id)s - AND act.done = False - GROUP BY m.id, states, act.res_model; - """ - self.env.cr.execute( - query, {"today": fields.Date.context_today(self), "user_id": self.env.uid} - ) - activity_data = self.env.cr.dictfetchall() - model_ids = [a["id"] for a in activity_data] - model_names = { - n[0]: n[1] for n in self.env["ir.model"].sudo().browse(model_ids).name_get() - } - - user_activities = {} - for activity in activity_data: - if not user_activities.get(activity["model"]): - module = self.env[activity["model"]]._original_module - icon = module and modules.module.get_module_icon(module) - user_activities[activity["model"]] = { - "id": activity["id"], - "name": model_names[activity["id"]], - "model": activity["model"], - "icon": icon, - "total_count": 0, - "today_count": 0, - "overdue_count": 0, - "planned_count": 0, - "type": "activity", - } - user_activities[activity["model"]][ - "%s_count" % activity["states"] - ] += activity["count"] - if activity["states"] in ("today", "overdue"): - user_activities[activity["model"]]["total_count"] += activity["count"] - - return list(user_activities.values())