diff --git a/app/access/mixins/organization.py b/app/access/mixins/organization.py index 2dbd63260..d8f2b86bb 100644 --- a/app/access/mixins/organization.py +++ b/app/access/mixins/organization.py @@ -295,15 +295,16 @@ def get_user_organizations(self, user: User) -> list([int]): _user_permissions: list([ str ]) = [] - for group in user.groups.all(): + for group in user.groups.all().prefetch_related('team__permissions__content_type').prefetch_related('team__organization'): + + team = group.team - team = teams.get(pk=group.id) if team not in _user_teams: _user_teams += [ team ] - for permission in team.permissions.all(): + for permission in group.team.permissions.all(): permission_value = str( permission.content_type.app_label + '.' + permission.codename ) diff --git a/app/access/models.py b/app/access/models.py index 596a64781..4334065aa 100644 --- a/app/access/models.py +++ b/app/access/models.py @@ -181,7 +181,7 @@ def get_queryset(self): from settings.models.app_settings import AppSettings - app_settings = AppSettings.objects.get( + app_settings = AppSettings.objects.prefetch_related('global_organization').get( owner_organization = None )