diff --git a/services/static-webserver/client/source/class/osparc/desktop/organizations/MembersList.js b/services/static-webserver/client/source/class/osparc/desktop/organizations/MembersList.js index 91ef4845139..2f0a016a8df 100644 --- a/services/static-webserver/client/source/class/osparc/desktop/organizations/MembersList.js +++ b/services/static-webserver/client/source/class/osparc/desktop/organizations/MembersList.js @@ -137,12 +137,14 @@ qx.Class.define("osparc.desktop.organizations.MembersList", { const usersStore = osparc.store.Users.getInstance(); selectedMembers.forEach(selectedMemberGId => promises.push(usersStore.getUser(selectedMemberGId))); Promise.all(promises) - .then(users => { - users.forEach(user => this.__addMember(user.getUsername())); - }) - .catch(err => { - console.error(err); + .then(values => { + values.forEach(user => { + if (user) { + this.__addMember(user.getUsername()); + } + }); }) + .catch(console.error) .finally(collaboratorsManager.close()); } else { collaboratorsManager.close(); diff --git a/services/static-webserver/client/source/class/osparc/store/Users.js b/services/static-webserver/client/source/class/osparc/store/Users.js index 59da1a2fb9a..693df0b59c7 100644 --- a/services/static-webserver/client/source/class/osparc/store/Users.js +++ b/services/static-webserver/client/source/class/osparc/store/Users.js @@ -28,7 +28,7 @@ qx.Class.define("osparc.store.Users", { }, members: { - fetchUser: function(groupId) { + __fetchUser: function(groupId) { const params = { url: { gid: groupId @@ -41,14 +41,22 @@ qx.Class.define("osparc.store.Users", { }); }, - getUser: function(groupId, fetchIfNotFound = true) { + getUser: async function(groupId, fetchIfNotFound = true) { const userFound = this.getUsers().find(user => user.getGroupId() === groupId); if (userFound) { - return new Promise(resolve => resolve(userFound)); - } else if (fetchIfNotFound) { - return this.fetchUser(groupId); + return userFound; } - return new Promise(reject => reject()); + if (fetchIfNotFound) { + try { + const user = await this.__fetchUser(groupId); + if (user) { + return user; + } + } catch (error) { + console.error(error); + } + } + return null; }, addUser: function(userData) {