Unfold many to many attributes in auth.DjangoAuthUser
This commit is contained in:
parent
29522aad4e
commit
ed5e3d5226
1 changed files with 17 additions and 0 deletions
|
@ -379,6 +379,23 @@ class DjangoAuthUser(AuthUser): # pragma: no cover
|
||||||
field_names = self.user._meta.get_all_field_names()
|
field_names = self.user._meta.get_all_field_names()
|
||||||
for name in field_names:
|
for name in field_names:
|
||||||
attr[name] = getattr(self.user, name)
|
attr[name] = getattr(self.user, name)
|
||||||
|
|
||||||
|
# unfold user_permissions many to many relation
|
||||||
|
if 'user_permissions' in attr:
|
||||||
|
attr['user_permissions'] = [
|
||||||
|
(
|
||||||
|
u"%s.%s" % (
|
||||||
|
perm.content_type.model_class().__module__,
|
||||||
|
perm.content_type.model_class().__name__
|
||||||
|
),
|
||||||
|
perm.codename
|
||||||
|
) for perm in attr['user_permissions'].filter()
|
||||||
|
]
|
||||||
|
|
||||||
|
# unfold group many to many relation
|
||||||
|
if 'groups' in attr:
|
||||||
|
attr['groups'] = [group.name for group in attr['groups'].filter()]
|
||||||
|
|
||||||
return attr
|
return attr
|
||||||
else:
|
else:
|
||||||
return {}
|
return {}
|
||||||
|
|
Loading…
Reference in a new issue