Skip to content

Commit d81842a

Browse files
committed
load users on demand
1 parent 23930f6 commit d81842a

File tree

2 files changed

+14
-12
lines changed

2 files changed

+14
-12
lines changed

services/static-webserver/client/source/class/osparc/share/Collaborators.js

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ qx.Class.define("osparc.share.Collaborators", {
392392
return null;
393393
},
394394

395-
_reloadCollaboratorsList: function() {
395+
_reloadCollaboratorsList: async function() {
396396
// reload "Share with..." list
397397
if (this.__addCollaborators) {
398398
const serializedDataCopy = osparc.utils.Utils.deepCloneObject(this._serializedDataCopy);
@@ -412,10 +412,17 @@ qx.Class.define("osparc.share.Collaborators", {
412412
const accessRights = this._serializedDataCopy["accessRights"];
413413
const collaboratorsList = [];
414414
const showOptions = this.__canIChangePermissions();
415-
const allGroupsAndUsers = groupsStore.getAllGroupsAndUsers();
416-
Object.keys(accessRights).forEach(gid => {
417-
if (gid in allGroupsAndUsers) {
418-
const collab = allGroupsAndUsers[gid];
415+
const allGroups = groupsStore.getAllGroups();
416+
const usersStore = osparc.store.Users.getInstance();
417+
for (let i=0; i<Object.keys(accessRights).length; i++) {
418+
const gid = Object.keys(accessRights)[i];
419+
let collab = null;
420+
if (gid in allGroups) {
421+
collab = allGroups[gid];
422+
} else {
423+
collab = await usersStore.getUser(gid);
424+
}
425+
if (collab) {
419426
// Do not override collaborator object
420427
const collaborator = {
421428
"gid": collab.getGroupId(),
@@ -436,7 +443,7 @@ qx.Class.define("osparc.share.Collaborators", {
436443
collaborator["resourceType"] = this._resourceType;
437444
collaboratorsList.push(collaborator);
438445
}
439-
});
446+
}
440447
collaboratorsList.sort(this.self().sortStudyOrServiceCollabs);
441448
collaboratorsList.forEach(c => this.__collaboratorsModel.append(qx.data.marshal.Json.createModel(c)));
442449
},

services/static-webserver/client/source/class/osparc/store/Groups.js

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ qx.Class.define("osparc.store.Groups", {
131131
})
132132
},
133133

134-
getAllGroupsAndUsers: function() {
134+
getAllGroups: function() {
135135
const allGroupsAndUsers = {};
136136

137137
const groupEveryone = this.getEveryoneGroup();
@@ -147,11 +147,6 @@ qx.Class.define("osparc.store.Groups", {
147147
allGroupsAndUsers[organization.getGroupId()] = organization;
148148
});
149149

150-
const users = osparc.store.Users.getInstance().getUsers();
151-
users.forEach(user => {
152-
allGroupsAndUsers[user.getGroupId()] = user;
153-
});
154-
155150
return allGroupsAndUsers;
156151
},
157152

0 commit comments

Comments
 (0)