[FIX] gamification: allow having False or 0 values as result of a computation.
authorThibault Delavallée <tde@openerp.com>
Fri, 11 Apr 2014 14:15:10 +0000 (16:15 +0200)
committerThibault Delavallée <tde@openerp.com>
Fri, 11 Apr 2014 14:15:10 +0000 (16:15 +0200)
bzr revid: tde@openerp.com-20140411141510-c11djv7qlf9qgek2

addons/gamification/models/goal.py

index 925b05d..2408e58 100644 (file)
@@ -249,16 +249,15 @@ class gamification_goal(osv.Model):
                     'object': goal,
                     'pool': self.pool,
                     'cr': cr,
-                    'context': dict(context), # copy context to prevent side-effects of eval
+                    'context': dict(context),  # copy context to prevent side-effects of eval
                     'uid': uid,
-                    'result': False,
                     'date': date, 'datetime': datetime, 'timedelta': timedelta, 'time': time
                 }
                 code = goal.definition_id.compute_code.strip()
                 safe_eval(code, cxt, mode="exec", nocopy=True)
                 # the result of the evaluated codeis put in the 'result' local variable, propagated to the context
-                result = cxt.get('result', False)
-                if result and type(result) in (float, int, long):
+                result = cxt.get('result')
+                if result is not None and type(result) in (float, int, long):
                     if result != goal.current:
                         towrite['current'] = result
                 else: