From ab60da1269ecf65a46051babd2a33cdab4a8908b Mon Sep 17 00:00:00 2001 From: alt-odoo Date: Fri, 22 Nov 2019 13:23:01 +0000 Subject: [PATCH] [FIX] gamification: prevent division by zero in percentage completeness computation We are initializing over the limit to make sure we will compute it at least once. If the target goal is set to 0, we are facing a division by zero error when displaying the gamification goal just after initialization. closes odoo/odoo#40735 X-original-commit: 24546e7c4cac61efea8d3f9e558518a55ef9acd2 Signed-off-by: Nicolas Martinelli (nim) --- addons/gamification/models/challenge.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/gamification/models/challenge.py b/addons/gamification/models/challenge.py index ad932dddc31..868e46d1fdf 100644 --- a/addons/gamification/models/challenge.py +++ b/addons/gamification/models/challenge.py @@ -377,11 +377,11 @@ class Challenge(models.Model): if end_date: values['end_date'] = end_date - # the goal is initialised over the limit to make sure we will compute it at least once - if line.condition == 'higher': - values['current'] = min(line.target_goal - 1, 0) - else: - values['current'] = max(line.target_goal + 1, 0) + # the goal is initialised over the limit to make sure we will compute it at least once + if line.condition == 'higher': + values['current'] = min(line.target_goal - 1, 0) + else: + values['current'] = max(line.target_goal + 1, 0) if challenge.remind_update_delay: values['remind_update_delay'] = challenge.remind_update_delay