Skip to content

Commit 8e4ca33

Browse files
committed
Extend scope for transaction in group principal removals
1 parent ff77cea commit 8e4ca33

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

rbac/management/group/view.py

+9-9
Original file line numberDiff line numberDiff line change
@@ -937,19 +937,19 @@ def principals(self, request: Request, uuid: Optional[UUID] = None):
937937
page = self.paginate_queryset(resp.get("data"))
938938
response = self.get_paginated_response(page)
939939
else:
940-
group = self.get_object()
940+
with transaction.atomic():
941+
group = self.get_object()
941942

942-
self.protect_system_groups("remove principals")
943+
self.protect_system_groups("remove principals")
943944

944-
if not request.user.admin:
945-
self.protect_group_with_user_access_admin_role(group.roles_with_access(), "remove_principals")
945+
if not request.user.admin:
946+
self.protect_group_with_user_access_admin_role(group.roles_with_access(), "remove_principals")
946947

947-
if SERVICE_ACCOUNTS_KEY not in request.query_params and USERNAMES_KEY not in request.query_params:
948-
key = "detail"
949-
message = "Query parameter {} or {} is required.".format(SERVICE_ACCOUNTS_KEY, USERNAMES_KEY)
950-
raise serializers.ValidationError({key: _(message)})
948+
if SERVICE_ACCOUNTS_KEY not in request.query_params and USERNAMES_KEY not in request.query_params:
949+
key = "detail"
950+
message = "Query parameter {} or {} is required.".format(SERVICE_ACCOUNTS_KEY, USERNAMES_KEY)
951+
raise serializers.ValidationError({key: _(message)})
951952

952-
with transaction.atomic():
953953
service_accounts_to_remove = []
954954
# Remove the service accounts from the group.
955955
if SERVICE_ACCOUNTS_KEY in request.query_params:

0 commit comments

Comments
 (0)