Skip to content

Commit 0499d9e

Browse files
authored
🎨 [Frontend] PO Center: Default welcome credits depends on product (#7870)
1 parent 1ce595e commit 0499d9e

File tree

4 files changed

+52
-63
lines changed

4 files changed

+52
-63
lines changed

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

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ qx.Class.define("osparc.data.Roles", {
2626
label: qx.locale.Manager.tr("Restricted Member"),
2727
longLabel: qx.locale.Manager.tr("Restricted member: no Read access"),
2828
canDo: [
29-
qx.locale.Manager.tr("- can access content shared within the Organization")
29+
qx.locale.Manager.tr("- Can access content shared within the Organization")
3030
],
3131
accessRights: {
3232
"read": false,
@@ -39,8 +39,8 @@ qx.Class.define("osparc.data.Roles", {
3939
label: qx.locale.Manager.tr("Member"),
4040
longLabel: qx.locale.Manager.tr("Member: Read access"),
4141
canDo: [
42-
qx.locale.Manager.tr("- can see other members"),
43-
qx.locale.Manager.tr("- can share with other members")
42+
qx.locale.Manager.tr("- Can see other members"),
43+
qx.locale.Manager.tr("- Can share with other members")
4444
],
4545
accessRights: {
4646
"read": true,
@@ -53,9 +53,9 @@ qx.Class.define("osparc.data.Roles", {
5353
label: qx.locale.Manager.tr("Manager"),
5454
longLabel: qx.locale.Manager.tr("Manager: Read/Write access"),
5555
canDo: [
56-
qx.locale.Manager.tr("- can Add/Delete members"),
57-
qx.locale.Manager.tr("- can Promote/Demote members"),
58-
qx.locale.Manager.tr("- can Edit Organization details")
56+
qx.locale.Manager.tr("- Can Add/Delete members"),
57+
qx.locale.Manager.tr("- Can Promote/Demote members"),
58+
qx.locale.Manager.tr("- Can Edit Organization details")
5959
],
6060
accessRights: {
6161
"read": true,
@@ -68,7 +68,7 @@ qx.Class.define("osparc.data.Roles", {
6868
label: qx.locale.Manager.tr("Administrator"),
6969
longLabel: qx.locale.Manager.tr("Admin: Read/Write/Delete access"),
7070
canDo: [
71-
qx.locale.Manager.tr("- can Delete the Organization")
71+
qx.locale.Manager.tr("- Can Delete the Organization")
7272
],
7373
accessRights: {
7474
"read": true,
@@ -84,7 +84,7 @@ qx.Class.define("osparc.data.Roles", {
8484
label: qx.locale.Manager.tr("User"),
8585
longLabel: qx.locale.Manager.tr("User: Read access"),
8686
canDo: [
87-
qx.locale.Manager.tr("- can open it without making changes")
87+
qx.locale.Manager.tr("- Can open it without making changes")
8888
],
8989
accessRights: {
9090
"read": true,
@@ -97,8 +97,8 @@ qx.Class.define("osparc.data.Roles", {
9797
label: qx.locale.Manager.tr("Editor"),
9898
longLabel: qx.locale.Manager.tr("Editor: Read/Write access"),
9999
canDo: [
100-
qx.locale.Manager.tr("- can make changes"),
101-
qx.locale.Manager.tr("- can share it")
100+
qx.locale.Manager.tr("- Can make changes"),
101+
qx.locale.Manager.tr("- Can share it")
102102
],
103103
accessRights: {
104104
"read": true,
@@ -111,7 +111,7 @@ qx.Class.define("osparc.data.Roles", {
111111
label: qx.locale.Manager.tr("Owner"),
112112
longLabel: qx.locale.Manager.tr("Owner: Read/Write/Delete access"),
113113
canDo: [
114-
qx.locale.Manager.tr("- can delete it")
114+
qx.locale.Manager.tr("- Can delete it")
115115
],
116116
accessRights: {
117117
"read": true,
@@ -126,7 +126,7 @@ qx.Class.define("osparc.data.Roles", {
126126
label: qx.locale.Manager.tr("User"),
127127
longLabel: qx.locale.Manager.tr("User: Read access"),
128128
canDo: [
129-
qx.locale.Manager.tr("- can use it")
129+
qx.locale.Manager.tr("- Can use it")
130130
],
131131
accessRights: {
132132
"execute": true,
@@ -138,8 +138,8 @@ qx.Class.define("osparc.data.Roles", {
138138
label: qx.locale.Manager.tr("Editor"),
139139
longLabel: qx.locale.Manager.tr("Editor: Read/Write access"),
140140
canDo: [
141-
qx.locale.Manager.tr("- can make changes"),
142-
qx.locale.Manager.tr("- can share it")
141+
qx.locale.Manager.tr("- Can make changes"),
142+
qx.locale.Manager.tr("- Can share it")
143143
],
144144
accessRights: {
145145
"execute": true,
@@ -153,7 +153,7 @@ qx.Class.define("osparc.data.Roles", {
153153
label: qx.locale.Manager.tr("User"),
154154
longLabel: qx.locale.Manager.tr("User: Read access"),
155155
canDo: [
156-
qx.locale.Manager.tr("- can use the credits")
156+
qx.locale.Manager.tr("- Can use the credits")
157157
],
158158
accessRights: {
159159
"read": true,
@@ -166,8 +166,8 @@ qx.Class.define("osparc.data.Roles", {
166166
label: qx.locale.Manager.tr("Accountant"),
167167
longLabel: qx.locale.Manager.tr("Accountant: Read/Write access"),
168168
canDo: [
169-
qx.locale.Manager.tr("- can Add/Delete members"),
170-
qx.locale.Manager.tr("- can Edit Credit Account details")
169+
qx.locale.Manager.tr("- Can Add/Delete members"),
170+
qx.locale.Manager.tr("- Can Edit Credit Account details")
171171
],
172172
accessRights: {
173173
"read": true,
@@ -182,26 +182,26 @@ qx.Class.define("osparc.data.Roles", {
182182
label: qx.locale.Manager.tr("Viewer"),
183183
longLabel: qx.locale.Manager.tr("Viewer: Read access"),
184184
canDo: [
185-
qx.locale.Manager.tr("- can inspect the content and open ") + osparc.product.Utils.getStudyAlias({plural: true}) + qx.locale.Manager.tr(" without making changes")
185+
qx.locale.Manager.tr("- Can inspect the content and open ") + osparc.product.Utils.getStudyAlias({plural: true}) + qx.locale.Manager.tr(" without making changes")
186186
]
187187
},
188188
"write": {
189189
id: "write",
190190
label: qx.locale.Manager.tr("Editor"),
191191
longLabel: qx.locale.Manager.tr("Editor: Read/Write access"),
192192
canDo: [
193-
qx.locale.Manager.tr("- can add ") + osparc.product.Utils.getStudyAlias({plural: true}),
194-
qx.locale.Manager.tr("- can add folders"),
193+
qx.locale.Manager.tr("- Can add ") + osparc.product.Utils.getStudyAlias({plural: true}),
194+
qx.locale.Manager.tr("- Can add folders"),
195195
]
196196
},
197197
"delete": {
198198
id: "delete",
199199
label: qx.locale.Manager.tr("Owner"),
200200
longLabel: qx.locale.Manager.tr("Owner: Read/Write/Delete access"),
201201
canDo: [
202-
qx.locale.Manager.tr("- can rename workspace"),
203-
qx.locale.Manager.tr("- can share it"),
204-
qx.locale.Manager.tr("- can delete it")
202+
qx.locale.Manager.tr("- Can rename workspace"),
203+
qx.locale.Manager.tr("- Can share it"),
204+
qx.locale.Manager.tr("- Can delete it")
205205
]
206206
}
207207
},

services/static-webserver/client/source/class/osparc/po/Invitations.js

Lines changed: 6 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -61,35 +61,7 @@ qx.Class.define("osparc.po.Invitations", {
6161
},
6262

6363
__createInvitationForm: function() {
64-
const form = new qx.ui.form.Form();
65-
66-
const userEmail = new qx.ui.form.TextField().set({
67-
required: true,
68-
placeholder: this.tr("[email protected]")
69-
});
70-
form.add(userEmail, this.tr("User Email"));
71-
72-
const extraCreditsInUsd = new qx.ui.form.Spinner().set({
73-
minimum: 0,
74-
maximum: 1000,
75-
value: 100
76-
});
77-
form.add(extraCreditsInUsd, this.tr("Welcome Credits (USD)"));
78-
79-
const withExpiration = new qx.ui.form.CheckBox().set({
80-
value: false
81-
});
82-
form.add(withExpiration, this.tr("With expiration"));
83-
84-
const trialDays = new qx.ui.form.Spinner().set({
85-
minimum: 1,
86-
maximum: 1000,
87-
value: 1
88-
});
89-
withExpiration.bind("value", trialDays, "visibility", {
90-
converter: val => val ? "visible" : "excluded"
91-
});
92-
form.add(trialDays, this.tr("Trial Days"));
64+
const form = osparc.po.UsersPending.createInvitationForm(true);
9365

9466
const generateInvitationBtn = new osparc.ui.form.FetchButton(this.tr("Generate"));
9567
generateInvitationBtn.set({
@@ -103,14 +75,14 @@ qx.Class.define("osparc.po.Invitations", {
10375
generateInvitationBtn.setFetching(true);
10476
const params = {
10577
data: {
106-
"guest": userEmail.getValue()
78+
"guest": form.getItems()["email"].getValue()
10779
}
10880
};
109-
if (extraCreditsInUsd.getValue() > 0) {
110-
params.data["extraCreditsInUsd"] = extraCreditsInUsd.getValue();
81+
if (form.getItems()["credits"] > 0) {
82+
params.data["extraCreditsInUsd"] = extraCreditsInUsd;
11183
}
112-
if (withExpiration.getValue()) {
113-
params.data["trialAccountDays"] = trialDays.getValue();
84+
if (form.getItems()["withExpiration"].getValue()) {
85+
params.data["trialAccountDays"] = form.getItems()["trialDays"].getValue();
11486
}
11587
osparc.data.Resources.fetch("invitations", "post", params)
11688
.then(data => {

services/static-webserver/client/source/class/osparc/po/UsersPending.js

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,21 @@ qx.Class.define("osparc.po.UsersPending", {
2020
extend: osparc.po.BaseView,
2121

2222
statics: {
23-
createInvitationForm: function() {
23+
createInvitationForm: function(withEmail = false) {
2424
const form = new qx.ui.form.Form();
2525

26+
if (withEmail) {
27+
const userEmail = new qx.ui.form.TextField().set({
28+
required: true,
29+
placeholder: "[email protected]"
30+
});
31+
form.add(userEmail, qx.locale.Manager.tr("User Email"), null, "email");
32+
}
33+
2634
const extraCreditsInUsd = new qx.ui.form.Spinner().set({
2735
minimum: 0,
2836
maximum: 1000,
29-
value: 100
37+
value: osparc.product.Utils.getDefaultWelcomeCredits(),
3038
});
3139
form.add(extraCreditsInUsd, qx.locale.Manager.tr("Welcome Credits (USD)"), null, "credits");
3240

@@ -51,7 +59,7 @@ qx.Class.define("osparc.po.UsersPending", {
5159
createApproveButton: function(email) {
5260
const button = new qx.ui.form.Button(qx.locale.Manager.tr("Approve"));
5361
button.addListener("execute", () => {
54-
const form = this.createInvitationForm();
62+
const form = this.createInvitationForm(false);
5563
const approveBtn = new osparc.ui.form.FetchButton(qx.locale.Manager.tr("Approve"));
5664
approveBtn.set({
5765
appearance: "form-button"
@@ -78,9 +86,8 @@ qx.Class.define("osparc.po.UsersPending", {
7886
},
7987
};
8088
params.data["invitation"] = {};
81-
const extraCreditsInUsd = form.getItems()["credits"].getValue();
82-
if (extraCreditsInUsd > 0) {
83-
params.data["invitation"]["extraCreditsInUsd"] = extraCreditsInUsd;
89+
if (form.getItems()["credits"].getValue() > 0) {
90+
params.data["invitation"]["extraCreditsInUsd"] = form.getItems()["credits"].getValue();
8491
}
8592
if (form.getItems()["withExpiration"].getValue()) {
8693
params.data["invitation"]["trialAccountDays"] = form.getItems()["trialDays"].getValue();

services/static-webserver/client/source/class/osparc/product/Utils.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -327,6 +327,16 @@ qx.Class.define("osparc.product.Utils", {
327327
return this.isS4LProduct() && licensesEnabled;
328328
},
329329

330+
getDefaultWelcomeCredits: function() {
331+
switch (osparc.product.Utils.getProductName()) {
332+
case "s4l":
333+
case "s4lacad":
334+
return 100;
335+
default:
336+
return 0;
337+
}
338+
},
339+
330340
getIconUrl: function(asset = "Default.png") {
331341
const base = "https://raw.githubusercontent.com/ZurichMedTech/s4l-assets/main/app/icons"
332342
let url;

0 commit comments

Comments
 (0)