From 85995b7a4f0544779f3de537f0e6024820abbd5d Mon Sep 17 00:00:00 2001 From: Benjamin Vray Date: Tue, 20 Oct 2020 09:23:53 +0000 Subject: [FIX] gamification: fix badge creation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Before this commit, we executed the request even when creating a new badge. And it thrown a traceback. After this commit, we return default values before executing the request if this is a new badge. task-2312878 closes odoo/odoo#60347 Signed-off-by: Jérémy Kersten (jke) --- addons/gamification/models/badge.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'addons/gamification') diff --git a/addons/gamification/models/badge.py b/addons/gamification/models/badge.py index c202bde3374..81a9d0564e8 100644 --- a/addons/gamification/models/badge.py +++ b/addons/gamification/models/badge.py @@ -137,6 +137,15 @@ class GamificationBadge(models.Model): the total number of time this badge was granted the total number of users this badge was granted to """ + defaults = { + 'granted_count': 0, + 'granted_users_count': 0, + 'unique_owner_ids': [], + } + if not self.ids: + self.update(defaults) + return + self.env.cr.execute(""" SELECT badge_id, count(user_id) as granted_count, count(distinct(user_id)) as granted_users_count, @@ -146,11 +155,6 @@ class GamificationBadge(models.Model): GROUP BY badge_id """, [tuple(self.ids)]) - defaults = { - 'granted_count': 0, - 'granted_users_count': 0, - 'unique_owner_ids': [], - } mapping = { badge_id: { 'granted_count': count, -- cgit v1.2.3