User Utilities¶
user_utils
¶
get_user_permissions(user)
¶
Return all permissions for a user, including group-inherited ones.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user
|
Django User instance. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
QuerySet |
Combined user and group permissions. |
get_permissions_strings(user)
¶
Return permission strings in 'app_label.codename' format for a user.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user
|
Django User instance. |
required |
Returns:
| Type | Description |
|---|---|
|
list[str]: Unique permission strings. |
get_current_user_permissions()
¶
Return all permissions for the currently authenticated user.
Returns:
| Name | Type | Description |
|---|---|---|
QuerySet |
Combined user and group permissions. |
get_current_user_permissions_strings()
¶
Return permission strings for the currently authenticated user.
Returns:
| Type | Description |
|---|---|
|
list[str]: Permission strings in |
user_has_perms(user, perms, exclude_superuser=False)
¶
Check if a user has at least one of the given permissions.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user
|
Django User instance. |
required | |
perms
|
List of permission strings (e.g. |
required | |
exclude_superuser
|
If True, do not auto-grant for superusers; check actual permissions instead. Defaults to False. |
False
|
Returns:
| Name | Type | Description |
|---|---|---|
bool |
True if the user has at least one of the listed permissions. |
current_user_has_perms(perms, exclude_superuser=False)
¶
Check if the current user has at least one of the given permissions.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
perms
|
List of permission strings. |
required | |
exclude_superuser
|
If True, check actual permissions even for superusers. |
False
|
Returns:
| Name | Type | Description |
|---|---|---|
bool |
True if the current user has at least one permission. |
get_users_for_perms(perms, user_filter=None)
¶
Return all users who have at least one of the given permissions.
Includes users who have the permission directly or via group membership.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
perms
|
List of permission strings (e.g. |
required | |
user_filter
|
Optional dict of ORM filter kwargs to apply to user querysets. |
None
|
Returns:
| Type | Description |
|---|---|
|
list[User]: Users with matching permissions. |
is_superuser(user)
¶
Check if a user is an active staff superuser.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
user
|
Django User instance. |
required |
Returns:
| Name | Type | Description |
|---|---|---|
bool |
True if user is active, staff, and superuser. |
user_passes_test(test_func, login_url=None, redirect_field_name=REDIRECT_FIELD_NAME, raise_exception=False)
¶
View decorator that checks the user against a test function.
Redirects to the login page if the test fails, or raises PermissionDenied
if raise_exception is True.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
test_func
|
Callable that takes a User and returns True if access is allowed. |
required | |
login_url
|
URL to redirect to on failure. Defaults to |
None
|
|
redirect_field_name
|
Query parameter name for the redirect URL. |
REDIRECT_FIELD_NAME
|
|
raise_exception
|
If True, raise |
False
|
Returns:
| Name | Type | Description |
|---|---|---|
Callable |
Decorated view function. |