From b34108ac73b4e84b3410153e428ddcfc43b3fe6e Mon Sep 17 00:00:00 2001 From: Martin Trigaux Date: Tue, 18 Feb 2014 14:08:00 +0100 Subject: [PATCH] [FIX] gamification: accpet and discard challenges wizard should work as superuser, the user do no need gamification rights bzr revid: mat@openerp.com-20140218130800-vth6elmbtrjmdouq --- addons/gamification/models/challenge.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/addons/gamification/models/challenge.py b/addons/gamification/models/challenge.py index fec8e04c4b7..d66c95f6a0b 100644 --- a/addons/gamification/models/challenge.py +++ b/addons/gamification/models/challenge.py @@ -620,21 +620,25 @@ class gamification_challenge(osv.Model): return self.write(cr, uid, challenge.id, {'last_report_date': fields.date.today()}, context=context) ##### Challenges ##### - def accept_challenge(self, cr, uid, challenge_ids, context=None, user_id=None): + def accept_challenge(self, cr, uid, challenge_ids, context=None): """The user accept the suggested challenge""" - user_id = user_id or uid + return self._accept_challenge(cr, SUPERUSER_ID, uid, challenge_ids, context=context) + + def _accept_challenge(self, cr, uid, user_id, challenge_ids, context=None): user = self.pool.get('res.users').browse(cr, uid, user_id, context=context) message = "%s has joined the challenge" % user.name self.message_post(cr, uid, challenge_ids, body=message, context=context) - self.write(cr, SUPERUSER_ID, challenge_ids, {'invited_user_ids': [(3, user_id)], 'user_ids': [(4, user_id)]}, context=context) + self.write(cr, uid, challenge_ids, {'invited_user_ids': [(3, user_id)], 'user_ids': [(4, user_id)]}, context=context) return self.generate_goals_from_challenge(cr, uid, challenge_ids, context=context) - def discard_challenge(self, cr, uid, challenge_ids, context=None, user_id=None): + def discard_challenge(self, cr, uid, challenge_ids, context=None): """The user discard the suggested challenge""" - user_id = user_id or uid + return self._discard_challenge(cr, SUPERUSER_ID, uid, challenge_ids, context=context) + + def _discard_challenge(self, cr, uid, user_id, challenge_ids, context=None): user = self.pool.get('res.users').browse(cr, uid, user_id, context=context) message = "%s has refused the challenge" % user.name - self.message_post(cr, SUPERUSER_ID, challenge_ids, body=message, context=context) + self.message_post(cr, uid, challenge_ids, body=message, context=context) return self.write(cr, uid, challenge_ids, {'invited_user_ids': (3, user_id)}, context=context) def reply_challenge_wizard(self, cr, uid, challenge_id, context=None):