[FIX] use correct user when evaluating group condition

pull/172/head
Holger Brunn 2015-06-04 16:50:01 +02:00
parent 03b399bddc
commit 4888053867
2 changed files with 4 additions and 3 deletions

View File

@ -33,13 +33,14 @@ class res_groups(models.Model):
'time, you get `user` passed as a browse record') 'time, you get `user` passed as a browse record')
@api.multi @api.multi
def eval_dynamic_group_condition(self): def eval_dynamic_group_condition(self, uid=None):
user = self.env['res.users'].browse([uid]) if uid else self.env.user
result = all( result = all(
self.mapped( self.mapped(
lambda this: safe_eval( lambda this: safe_eval(
this.dynamic_group_condition, this.dynamic_group_condition,
{ {
'user': self.env.user, 'user': user.sudo(),
'any': any, 'any': any,
'all': all, 'all': all,
'filter': filter, 'filter': filter,

View File

@ -43,7 +43,7 @@ class res_users(Model):
{ {
'groups_id': [ 'groups_id': [
(4, dynamic_group.id) (4, dynamic_group.id)
if dynamic_group.eval_dynamic_group_condition() if dynamic_group.eval_dynamic_group_condition(uid=uid)
else (3, dynamic_group.id) else (3, dynamic_group.id)
for dynamic_group in groups_obj.browse( for dynamic_group in groups_obj.browse(
cr, SUPERUSER_ID, cr, SUPERUSER_ID,