[MERGE] forward port branch saas-14 up to a449b063b0
This commit is contained in:
@@ -662,8 +662,26 @@ class GroupsImplied(models.Model):
|
||||
if values.get('users') or values.get('implied_ids'):
|
||||
# add all implied groups (to all users of each group)
|
||||
for group in self:
|
||||
vals = {'users': zip(repeat(4), group.with_context(active_test=False).users.ids)}
|
||||
super(GroupsImplied, group.trans_implied_ids).write(vals)
|
||||
self._cr.execute("""
|
||||
WITH RECURSIVE group_imply(gid, hid) AS (
|
||||
SELECT gid, hid
|
||||
FROM res_groups_implied_rel
|
||||
UNION
|
||||
SELECT i.gid, r.hid
|
||||
FROM res_groups_implied_rel r
|
||||
JOIN group_imply i ON (i.hid = r.gid)
|
||||
)
|
||||
INSERT INTO res_groups_users_rel (gid, uid)
|
||||
SELECT i.hid, r.uid
|
||||
FROM group_imply i, res_groups_users_rel r
|
||||
WHERE r.gid = i.gid
|
||||
AND i.gid = %(gid)s
|
||||
EXCEPT
|
||||
SELECT r.gid, r.uid
|
||||
FROM res_groups_users_rel r
|
||||
JOIN group_imply i ON (r.gid = i.hid)
|
||||
WHERE i.gid = %(gid)s
|
||||
""", dict(gid=group.id))
|
||||
return res
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user