[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
This commit is contained in:
Martin Trigaux 2014-02-18 14:08:00 +01:00
parent 266adaa44c
commit b34108ac73
1 changed files with 10 additions and 6 deletions

View File

@ -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):