mirror of
https://github.com/ansible/awx.git
synced 2026-05-13 12:27:37 -02:30
Merge pull request #1 from AlanCoding/org_detail_rbac_update
Update organization detail view counts for RBAC
This commit is contained in:
@@ -650,17 +650,21 @@ class OrganizationDetail(RetrieveUpdateDestroyAPIView):
|
|||||||
org_id = int(self.kwargs['pk'])
|
org_id = int(self.kwargs['pk'])
|
||||||
|
|
||||||
org_counts = {}
|
org_counts = {}
|
||||||
user_qs = self.request.user.get_queryset(User)
|
access_kwargs = {'accessor': self.request.user, 'permissions': {"read": True}}
|
||||||
org_counts['users'] = user_qs.filter(organizations__id=org_id).count()
|
direct_counts = Organization.objects.filter(id=org_id).annotate(
|
||||||
org_counts['admins'] = user_qs.filter(admin_of_organizations__id=org_id).count()
|
users=Count('member_role__members', distinct=True),
|
||||||
org_counts['inventories'] = self.request.user.get_queryset(Inventory).filter(
|
admins=Count('admin_role__members', distinct=True)
|
||||||
|
).values('users', 'admins')
|
||||||
|
|
||||||
|
org_counts = direct_counts[0]
|
||||||
|
org_counts['inventories'] = Inventory.accessible_objects(**access_kwargs).filter(
|
||||||
organization__id=org_id).count()
|
organization__id=org_id).count()
|
||||||
org_counts['teams'] = self.request.user.get_queryset(Team).filter(
|
org_counts['teams'] = Team.accessible_objects(**access_kwargs).filter(
|
||||||
organization__id=org_id).count()
|
organization__id=org_id).count()
|
||||||
org_counts['projects'] = self.request.user.get_queryset(Project).filter(
|
org_counts['projects'] = Project.accessible_objects(**access_kwargs).filter(
|
||||||
organizations__id=org_id).count()
|
organization__id=org_id).count()
|
||||||
org_counts['job_templates'] = self.request.user.get_queryset(JobTemplate).filter(
|
org_counts['job_templates'] = JobTemplate.accessible_objects(**access_kwargs).filter(
|
||||||
inventory__organization__id=org_id).count()
|
project__organization__id=org_id).count()
|
||||||
|
|
||||||
full_context['related_field_counts'] = {}
|
full_context['related_field_counts'] = {}
|
||||||
full_context['related_field_counts'][org_id] = org_counts
|
full_context['related_field_counts'][org_id] = org_counts
|
||||||
|
|||||||
Reference in New Issue
Block a user