diff --git a/addons/gamification/data/goal_base.xml b/addons/gamification/data/goal_base.xml index 0437dee031c..c12763025f6 100644 --- a/addons/gamification/data/goal_base.xml +++ b/addons/gamification/data/goal_base.xml @@ -164,7 +164,7 @@ once personal never - [('groups_id', 'in', ref('base.group_user'))] + inprogress other @@ -174,7 +174,7 @@ once personal never - [('groups_id', 'in', ref('base.user_root'))] + inprogress other diff --git a/addons/gamification/models/challenge.py b/addons/gamification/models/challenge.py index beeb859a03b..ea698ca77fa 100644 --- a/addons/gamification/models/challenge.py +++ b/addons/gamification/models/challenge.py @@ -212,7 +212,6 @@ class gamification_challenge(osv.Model): def create(self, cr, uid, vals, context=None): """Overwrite the create method to add the user of groups""" - # add users when change the group auto-subscription if vals.get('user_domain'): user_ids = self._get_challenger_users(cr, uid, vals.get('user_domain'), context=context) @@ -233,7 +232,14 @@ class gamification_challenge(osv.Model): def write(self, cr, uid, ids, vals, context=None): if isinstance(ids, (int,long)): ids = [ids] - + + if vals.get('user_domain'): + user_ids = self._get_challenger_users(cr, uid, vals.get('user_domain'), context=context) + + if not vals.get('user_ids'): + vals['user_ids'] = [] + vals['user_ids'] += [(4, user_id) for user_id in user_ids] + write_res = super(gamification_challenge, self).write(cr, uid, ids, vals, context=context) if vals.get('state') == 'inprogress': diff --git a/addons/gamification_sale_crm/sale_crm_goals.xml b/addons/gamification_sale_crm/sale_crm_goals.xml index fbc1c952bb8..13bf49767dc 100644 --- a/addons/gamification_sale_crm/sale_crm_goals.xml +++ b/addons/gamification_sale_crm/sale_crm_goals.xml @@ -130,7 +130,7 @@ Monthly Sales Targets monthly ranking - [('groups_id', 'in', ref('base.group_sale_salesman'))] + weekly @@ -138,7 +138,7 @@ Lead Acquisition monthly ranking - [('groups_id', 'in', ref('base.group_sale_salesman'))] + " weekly