From 6290338754385bcdd0a3a9deff93acf731b094a2 Mon Sep 17 00:00:00 2001 From: Martin Krulis Date: Tue, 28 Sep 2021 18:24:00 +0200 Subject: [PATCH] Making sure group names container loads also archived groups. --- .../GroupsNameContainer/GroupsNameContainer.js | 5 ++++- src/pages/GroupInfo/GroupInfo.js | 1 - src/pages/GroupUserSolutions/GroupUserSolutions.js | 11 +++++------ 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/containers/GroupsNameContainer/GroupsNameContainer.js b/src/containers/GroupsNameContainer/GroupsNameContainer.js index 6271d5f8c..1f1ecb211 100644 --- a/src/containers/GroupsNameContainer/GroupsNameContainer.js +++ b/src/containers/GroupsNameContainer/GroupsNameContainer.js @@ -108,6 +108,9 @@ export default connect( groupAccessor: groupAccessorSelector(state), }), dispatch => ({ - loadAsync: groupId => dispatch(fetchGroupIfNeeded(groupId)), + loadAsync: groupId => + dispatch(fetchGroupIfNeeded(groupId)).then(({ value: group }) => + Promise.all(group && group.archived ? group.parentGroupsIds.map(id => dispatch(fetchGroupIfNeeded(id))) : []) + ), }) )(GroupsNameContainer); diff --git a/src/pages/GroupInfo/GroupInfo.js b/src/pages/GroupInfo/GroupInfo.js index 351577a66..2f8a0a9be 100644 --- a/src/pages/GroupInfo/GroupInfo.js +++ b/src/pages/GroupInfo/GroupInfo.js @@ -55,7 +55,6 @@ class GroupInfo extends Component { dispatch(fetchByIds(safeGet(group, ['primaryAdminsIds'], []))), dispatch(fetchByIds(safeGet(group, ['privateData', 'supervisors'], []))), dispatch(fetchByIds(safeGet(group, ['privateData', 'observers'], []))), - group.archived ? dispatch(fetchAllGroups({ archived: true })) : null, ]) ); diff --git a/src/pages/GroupUserSolutions/GroupUserSolutions.js b/src/pages/GroupUserSolutions/GroupUserSolutions.js index 988588ca3..570438024 100644 --- a/src/pages/GroupUserSolutions/GroupUserSolutions.js +++ b/src/pages/GroupUserSolutions/GroupUserSolutions.js @@ -253,12 +253,11 @@ class GroupUserSolutions extends Component { Promise.all([ dispatch(fetchUserIfNeeded(userId)), dispatch(fetchGroupIfNeeded(groupId)).then(({ value: group }) => - hasPermissions(group, 'viewAssignments') - ? Promise.all([ - dispatch(fetchAssignmentsForGroup(groupId)), - dispatch(fetchGroupStudentsSolutions(groupId, userId)), - ]) - : Promise.resolve() + Promise.all( + hasPermissions(group, 'viewAssignments') + ? [dispatch(fetchAssignmentsForGroup(groupId)), dispatch(fetchGroupStudentsSolutions(groupId, userId))] + : [] + ) ), dispatch(fetchRuntimeEnvironments()), ]);