15524: Shows groups names on sharing dialog's permission rows where applicable.
[arvados-workbench2.git] / src / store / sharing-dialog / sharing-dialog-actions.ts
index 17b237ecc60b746e0aba35f34612d20a9860e783..bbd50dbb344c9661d875ac1da17c6d75a2afaceb 100644 (file)
@@ -74,19 +74,23 @@ const loadSharingDialog = async (dispatch: Dispatch, getState: () => RootState,
 };
 
 const initializeManagementForm = (permissionLinks: PermissionResource[]) =>
-    async (dispatch: Dispatch, getState: () => RootState, { userService }: ServiceRepository) => {
+    async (dispatch: Dispatch, getState: () => RootState, { userService, groupsService }: ServiceRepository) => {
 
         const filters = new FilterBuilder()
             .addIn('uuid', permissionLinks.map(({ tailUuid }) => tailUuid))
             .getFilters();
 
         const { items: users } = await userService.list({ filters });
+        const { items: groups} = await groupsService.list({ filters });
 
         const getEmail = (tailUuid: string) => {
             const user = users.find(({ uuid }) => uuid === tailUuid);
+            const group = groups.find(({ uuid }) => uuid === tailUuid);
             return user
                 ? user.email
-                : tailUuid;
+                : group
+                    ? group.name
+                    : tailUuid;
         };
 
         const managementPermissions = permissionLinks