(queryset)
| 110 | |
| 111 | @staticmethod |
| 112 | def set_users_orgs_roles(queryset): |
| 113 | user_ids = [u.id for u in queryset] |
| 114 | rbs = RoleBinding.objects_raw.filter( |
| 115 | user__in=user_ids, scope='org' |
| 116 | ).prefetch_related('user', 'role', 'org') |
| 117 | user_rbs_mapper = defaultdict(set) |
| 118 | for rb in rbs: |
| 119 | user_rbs_mapper[rb.user_id].add(rb) |
| 120 | |
| 121 | for u in queryset: |
| 122 | user_rbs = user_rbs_mapper[u.id] |
| 123 | orgs_roles = defaultdict(set) |
| 124 | for rb in user_rbs: |
| 125 | orgs_roles[rb.org_name].add(rb.role.display_name) |
| 126 | setattr(u, 'orgs_roles', orgs_roles) |
| 127 | return queryset |
| 128 | |
| 129 | def perform_create(self, serializer): |
| 130 | users = serializer.save() |
no test coverage detected