Skip to content

Commit

Permalink
[FIX]mail_activity_done: Fix progressbar activity_state count.
Browse files Browse the repository at this point in the history
  • Loading branch information
jesusVMayor committed Nov 26, 2024
1 parent 9ab7f24 commit 912897e
Showing 1 changed file with 20 additions and 6 deletions.
26 changes: 20 additions & 6 deletions mail_activity_done/models/mail_activity.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,6 @@
# Copyright 2018-22 ForgeFlow <http://www.forgeflow.com>
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).


from odoo import api, fields, models
from odoo.osv import expression

delete_sentinel = object()

Expand Down Expand Up @@ -90,10 +87,27 @@ class MailActivityMixin(models.AbstractModel):
def _read_progress_bar(self, domain, group_by, progress_bar):
"""
Exclude completed activities from progress bar result.
Pass an extra domain to super to filter out records with only done activities.
"""
domain = expression.AND([domain, [("activity_ids.done", "=", False)]])
return super()._read_progress_bar(domain, group_by, progress_bar)
execute_org = self._cr.execute

def execute(query, params=None, log_exceptions=True):
original_where = "WHERE res_model = '{}'".format(self._name)
replace_where = (
"WHERE res_model = '{}' AND mail_activity.done = FALSE".format(
self._name
)
)
return execute_org(
query.replace(original_where, replace_where),
params=params,
log_exceptions=log_exceptions,
)

self._cr.execute = execute
try:
return super()._read_progress_bar(domain, group_by, progress_bar)
finally:
self._cr.execute = execute_org

def _search_activity_state(self, operator, value):
execute_org = self._cr.execute
Expand Down

0 comments on commit 912897e

Please sign in to comment.