[FIX] use correct user when evaluating group condition
parent
03b399bddc
commit
4888053867
|
@ -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,
|
||||||
|
|
|
@ -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,
|
||||||
|
|
Loading…
Reference in New Issue