diff --git a/rhodecode/lib/auth.py b/rhodecode/lib/auth.py --- a/rhodecode/lib/auth.py +++ b/rhodecode/lib/auth.py @@ -366,7 +366,8 @@ class PermOriginDict(dict): dict.__init__(self, *args, **kw) self.perm_origin_stack = collections.OrderedDict() - def __setitem__(self, key, (perm, origin, obj_id)): + def __setitem__(self, key, perm_origin_obj_id): + (perm, origin, obj_id) = perm_origin_obj_id self.perm_origin_stack.setdefault(key, []).append((perm, origin, obj_id)) dict.__setitem__(self, key, perm) @@ -385,7 +386,8 @@ class BranchPermOriginDict(PermOriginDic >>> perms.perm_origin_stack {'resource': {'*pattern': [('read', 'default'), ('write', 'admin')]}} """ - def __setitem__(self, key, (pattern, perm, origin)): + def __setitem__(self, key, pattern_perm_origin): + (pattern, perm, origin) = pattern_perm_origin self.perm_origin_stack.setdefault(key, {}) \ .setdefault(pattern, []).append((perm, origin))