MCPcopy
hub / github.com/django/django / _get_permissions

Method _get_permissions

django/contrib/auth/backends.py:109–128  ·  view source on GitHub ↗

Return the permissions of `user_obj` from `from_name`. `from_name` can be either "group" or "user" to return permissions from `_get_group_permissions` or `_get_user_permissions` respectively.

(self, user_obj, obj, from_name)

Source from the content-addressed store, hash-verified

107 return Permission.objects.filter(group__in=user_obj.groups.all())
108
109 def _get_permissions(self, user_obj, obj, from_name):
110 """
111 Return the permissions of `user_obj` from `from_name`. `from_name` can
112 be either "group" or "user" to return permissions from
113 `_get_group_permissions` or `_get_user_permissions` respectively.
114 """
115 if not user_obj.is_active or user_obj.is_anonymous or obj is not None:
116 return set()
117
118 perm_cache_name = "_%s_perm_cache" % from_name
119 if not hasattr(user_obj, perm_cache_name):
120 if user_obj.is_superuser:
121 perms = Permission.objects.all()
122 else:
123 perms = getattr(self, "_get_%s_permissions" % from_name)(user_obj)
124 perms = perms.values_list("content_type__app_label", "codename").order_by()
125 setattr(
126 user_obj, perm_cache_name, {"%s.%s" % (ct, name) for ct, name in perms}
127 )
128 return getattr(user_obj, perm_cache_name)
129
130 async def _aget_permissions(self, user_obj, obj, from_name):
131 """See _get_permissions()."""

Callers 2

get_user_permissionsMethod · 0.95
get_group_permissionsMethod · 0.95

Calls 3

order_byMethod · 0.80
values_listMethod · 0.80
allMethod · 0.45

Tested by

no test coverage detected