fix(users): Refactor object permission query logic

Simplifies the `OBJECTPERMISSION_OBJECT_TYPES` definition by adjusting
query filters and introducing new conditions for specific app labels
and models.

Fixes #21051
This commit is contained in:
Martin Hauser
2026-01-15 23:07:02 +01:00
parent 1c46215cd5
commit f8149f4fde

View File

@@ -3,9 +3,10 @@ import string
from django.db.models import Q from django.db.models import Q
OBJECTPERMISSION_OBJECT_TYPES = Q( OBJECTPERMISSION_OBJECT_TYPES = (
~Q(app_label__in=['account', 'admin', 'auth', 'contenttypes', 'sessions', 'taggit', 'users']) | (Q(public=True) & ~Q(app_label='core', model='objecttype'))
Q(app_label='users', model__in=['objectpermission', 'token', 'group', 'user', 'owner']) | Q(app_label='core', model__in=['managedfile'])
| Q(app_label='extras', model__in=['scriptmodule', 'taggeditem'])
) )
CONSTRAINT_TOKEN_USER = '$user' CONSTRAINT_TOKEN_USER = '$user'