Skip to content

Commit 653770b

Browse files
committed
Access on Cards
1 parent 42e32a1 commit 653770b

File tree

2 files changed

+41
-24
lines changed

2 files changed

+41
-24
lines changed

services/static-webserver/client/source/class/osparc/info/ServiceUtils.js

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -122,20 +122,27 @@ qx.Class.define("osparc.info.ServiceUtils", {
122122
* @param serviceData {Object} Serialized Service Object
123123
*/
124124
createAccessRights: function(serviceData) {
125-
let permissions = "";
126-
const myGID = osparc.auth.Data.getInstance().getGroupId();
127-
const ar = serviceData["accessRights"];
128-
if (myGID in ar) {
129-
if (ar[myGID]["write"]) {
130-
permissions = qx.locale.Manager.tr("Write");
131-
} else if (ar[myGID]["execute"]) {
132-
permissions = qx.locale.Manager.tr("Execute");
125+
const allMyGIds = osparc.store.Groups.getInstance().getAllMyGroupIds();
126+
const accessRights = serviceData["accessRights"];
127+
const permissions = new Set();
128+
allMyGIds.forEach(gId => {
129+
if (gId in accessRights) {
130+
if (accessRights[gId]["write"]) {
131+
permissions.add("write");
132+
} else if (accessRights[gId]["execute"]) {
133+
permissions.add("read");
134+
}
133135
}
136+
});
137+
const accessRightsLabel = new qx.ui.basic.Label();
138+
if (permissions.has("write")) {
139+
accessRightsLabel.setValue(osparc.data.Roles.SERVICES["write"].label);
140+
} else if (permissions.has("read")) {
141+
accessRightsLabel.setValue(osparc.data.Roles.SERVICES["read"].label);
134142
} else {
135-
permissions = qx.locale.Manager.tr("Public");
143+
accessRightsLabel.setValue(qx.locale.Manager.tr("Public"));
136144
}
137-
const accessRights = new qx.ui.basic.Label(permissions);
138-
return accessRights;
145+
return accessRightsLabel;
139146
},
140147

141148
/**

services/static-webserver/client/source/class/osparc/info/StudyUtils.js

Lines changed: 23 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -84,21 +84,31 @@ qx.Class.define("osparc.info.StudyUtils", {
8484
* @param study {osparc.data.model.Study} Study Model
8585
*/
8686
createAccessRights: function(study) {
87-
const accessRights = new qx.ui.basic.Label();
88-
let permissions = "";
89-
const myGID = osparc.auth.Data.getInstance().getGroupId();
90-
const ar = study.getAccessRights();
91-
if (myGID in ar) {
92-
if (ar[myGID]["delete"]) {
93-
permissions = qx.locale.Manager.tr("Owner");
94-
} else if (ar[myGID]["write"]) {
95-
permissions = qx.locale.Manager.tr("Editor");
96-
} else if (ar[myGID]["read"]) {
97-
permissions = qx.locale.Manager.tr("User");
87+
const allMyGIds = osparc.store.Groups.getInstance().getAllMyGroupIds();
88+
const accessRights = study.getAccessRights();
89+
const permissions = new Set();
90+
allMyGIds.forEach(gId => {
91+
if (gId in accessRights) {
92+
if (accessRights[gId]["delete"]) {
93+
permissions.add("delete");
94+
} else if (accessRights[gId]["write"]) {
95+
permissions.add("write");
96+
} else if (accessRights[gId]["read"]) {
97+
permissions.add("read");
98+
}
9899
}
100+
});
101+
const accessRightsLabel = new qx.ui.basic.Label();
102+
if (permissions.has("delete")) {
103+
accessRightsLabel.setValue(osparc.data.Roles.STUDY["delete"].label);
104+
} else if (permissions.has("write")) {
105+
accessRightsLabel.setValue(osparc.data.Roles.STUDY["write"].label);
106+
} else if (permissions.has("read")) {
107+
accessRightsLabel.setValue(osparc.data.Roles.STUDY["read"].label);
108+
} else {
109+
accessRightsLabel.setValue(qx.locale.Manager.tr("Public"));
99110
}
100-
accessRights.setValue(permissions);
101-
return accessRights;
111+
return accessRightsLabel;
102112
},
103113

104114
/**

0 commit comments

Comments
 (0)