Skip to content

Commit 5b1d439

Browse files
authored
🎨 [Frontend] Enh: Expose access rights when Sharing Study (#7467)
1 parent c05552a commit 5b1d439

20 files changed

+435
-409
lines changed

services/static-webserver/client/source/class/osparc/dashboard/StudyBrowserHeader.js

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -385,8 +385,15 @@ qx.Class.define("osparc.dashboard.StudyBrowserHeader", {
385385
share.addListener("execute", () => this.__openShareWith(), this);
386386
menu.add(share);
387387
editButton.setMenu(menu);
388-
const val = value["read"] + value["write"] + value["delete"];
389-
roleText.setValue(osparc.data.Roles.WORKSPACE[val].label);
388+
let id = "noRead";
389+
if (value["delete"]) {
390+
id = "delete";
391+
} else if (value["write"]) {
392+
id = "write";
393+
} else if (value["read"]) {
394+
id = "read";
395+
}
396+
roleText.setValue(osparc.data.Roles.WORKSPACE[id].label);
390397
roleText.show();
391398
roleIcon.show();
392399
} else {

services/static-webserver/client/source/class/osparc/data/Roles.js

Lines changed: 80 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -21,140 +21,167 @@ qx.Class.define("osparc.data.Roles", {
2121

2222
statics: {
2323
ORG: {
24-
0: {
25-
id: "noRead",
24+
"noRead": {
2625
label: qx.locale.Manager.tr("Restricted Member"),
2726
longLabel: qx.locale.Manager.tr("Restricted member: no Read access"),
2827
canDo: [
2928
qx.locale.Manager.tr("- can access content shared within the Organization")
30-
]
29+
],
30+
accessRights: {
31+
"read": false,
32+
"write": false,
33+
"delete": false
34+
},
3135
},
32-
1: {
33-
id: "read",
36+
"read": {
3437
label: qx.locale.Manager.tr("Member"),
3538
longLabel: qx.locale.Manager.tr("Member: Read access"),
3639
canDo: [
3740
qx.locale.Manager.tr("- can see other members"),
3841
qx.locale.Manager.tr("- can share with other members")
39-
]
42+
],
43+
accessRights: {
44+
"read": true,
45+
"write": false,
46+
"delete": false
47+
},
4048
},
41-
2: {
42-
id: "write",
49+
"write": {
4350
label: qx.locale.Manager.tr("Manager"),
4451
longLabel: qx.locale.Manager.tr("Manager: Read/Write access"),
4552
canDo: [
4653
qx.locale.Manager.tr("- can Add/Delete members"),
4754
qx.locale.Manager.tr("- can Promote/Demote members"),
4855
qx.locale.Manager.tr("- can Edit Organization details")
49-
]
56+
],
57+
accessRights: {
58+
"read": true,
59+
"write": true,
60+
"delete": false
61+
},
5062
},
51-
3: {
52-
id: "delete",
63+
"delete": {
5364
label: qx.locale.Manager.tr("Administrator"),
5465
longLabel: qx.locale.Manager.tr("Admin: Read/Write/Delete access"),
5566
canDo: [
5667
qx.locale.Manager.tr("- can Delete the Organization")
57-
]
68+
],
69+
accessRights: {
70+
"read": true,
71+
"write": true,
72+
"delete": true
73+
},
5874
}
5975
},
60-
6176
// study & templates
6277
STUDY: {
63-
1: {
64-
id: "read",
78+
"read": {
6579
label: qx.locale.Manager.tr("User"),
6680
longLabel: qx.locale.Manager.tr("User: Read access"),
6781
canDo: [
68-
qx.locale.Manager.tr("- can open it")
69-
]
82+
qx.locale.Manager.tr("- can open it without making changes")
83+
],
84+
accessRights: {
85+
"read": true,
86+
"write": false,
87+
"delete": false
88+
},
7089
},
71-
2: {
72-
id: "write",
90+
"write": {
7391
label: qx.locale.Manager.tr("Editor"),
7492
longLabel: qx.locale.Manager.tr("Editor: Read/Write access"),
7593
canDo: [
7694
qx.locale.Manager.tr("- can make changes"),
7795
qx.locale.Manager.tr("- can share it")
78-
]
96+
],
97+
accessRights: {
98+
"read": true,
99+
"write": true,
100+
"delete": false
101+
},
79102
},
80-
3: {
81-
id: "delete",
103+
"delete": {
82104
label: qx.locale.Manager.tr("Owner"),
83105
longLabel: qx.locale.Manager.tr("Owner: Read/Write/Delete access"),
84106
canDo: [
85107
qx.locale.Manager.tr("- can delete it")
86-
]
108+
],
109+
accessRights: {
110+
"read": true,
111+
"write": true,
112+
"delete": true
113+
},
87114
}
88115
},
89-
// services
90116
SERVICES: {
91-
1: {
92-
id: "read",
117+
"read": {
93118
label: qx.locale.Manager.tr("User"),
94119
longLabel: qx.locale.Manager.tr("User: Read access"),
95120
canDo: [
96121
qx.locale.Manager.tr("- can use it")
97-
]
122+
],
123+
accessRights: {
124+
"execute": true,
125+
"write": false
126+
},
98127
},
99-
2: {
100-
id: "write",
128+
"write": {
101129
label: qx.locale.Manager.tr("Editor"),
102130
longLabel: qx.locale.Manager.tr("Editor: Read/Write access"),
103131
canDo: [
104132
qx.locale.Manager.tr("- can make changes"),
105133
qx.locale.Manager.tr("- can share it")
106-
]
134+
],
135+
accessRights: {
136+
"execute": true,
137+
"write": true
138+
},
107139
},
108-
3: {
109-
id: "delete",
110-
label: qx.locale.Manager.tr("Owner"),
111-
longLabel: qx.locale.Manager.tr("Owner: Read/Write/Delete access"),
112-
canDo: [
113-
qx.locale.Manager.tr("- can delete it")
114-
]
115-
}
116140
},
117-
118141
WALLET: {
119-
1: {
120-
id: "read",
142+
"read": {
121143
label: qx.locale.Manager.tr("User"),
122144
longLabel: qx.locale.Manager.tr("User: Read access"),
123145
canDo: [
124146
qx.locale.Manager.tr("- can use the credits")
125-
]
147+
],
148+
accessRights: {
149+
"read": true,
150+
"write": false,
151+
"delete": false
152+
},
126153
},
127-
2: {
128-
id: "write",
154+
"write": {
129155
label: qx.locale.Manager.tr("Accountant"),
130156
longLabel: qx.locale.Manager.tr("Accountant: Read/Write access"),
131157
canDo: [
132158
qx.locale.Manager.tr("- can Add/Delete members"),
133159
qx.locale.Manager.tr("- can Edit Credit Account details")
134-
]
160+
],
161+
accessRights: {
162+
"read": true,
163+
"write": true,
164+
"delete": false
165+
},
135166
}
136167
},
137-
138168
WORKSPACE: {
139-
1: {
140-
id: "read",
169+
"read": {
141170
label: qx.locale.Manager.tr("Viewer"),
142171
longLabel: qx.locale.Manager.tr("Viewer: Read access"),
143172
canDo: [
144-
qx.locale.Manager.tr("- can inspect the content and open ") + osparc.product.Utils.getStudyAlias({plural: true})
173+
qx.locale.Manager.tr("- can inspect the content and open ") + osparc.product.Utils.getStudyAlias({plural: true}) + qx.locale.Manager.tr(" without making changes")
145174
]
146175
},
147-
2: {
148-
id: "write",
176+
"write": {
149177
label: qx.locale.Manager.tr("Editor"),
150178
longLabel: qx.locale.Manager.tr("Editor: Read/Write access"),
151179
canDo: [
152180
qx.locale.Manager.tr("- can add ") + osparc.product.Utils.getStudyAlias({plural: true}),
153181
qx.locale.Manager.tr("- can add folders"),
154182
]
155183
},
156-
3: {
157-
id: "delete",
184+
"delete": {
158185
label: qx.locale.Manager.tr("Owner"),
159186
longLabel: qx.locale.Manager.tr("Owner: Read/Write/Delete access"),
160187
canDo: [

0 commit comments

Comments
 (0)