[FIX] gamification: fix badge creation
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#60441 X-original-commit: 85995b7a4f0544779f3de537f0e6024820abbd5d Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user