@@ -56,77 +56,6 @@ qx.Class.define("osparc.po.UsersPending", {
5656 return form ;
5757 } ,
5858
59- createApproveButton : function ( email ) {
60- const button = new qx . ui . form . Button ( qx . locale . Manager . tr ( "Approve" ) ) ;
61- button . addListener ( "execute" , ( ) => {
62- const form = this . createInvitationForm ( false ) ;
63- const approveBtn = new osparc . ui . form . FetchButton ( qx . locale . Manager . tr ( "Approve" ) ) ;
64- approveBtn . set ( {
65- appearance : "form-button"
66- } ) ;
67- form . addButton ( approveBtn ) ;
68- const layout = new qx . ui . container . Composite ( new qx . ui . layout . VBox ( 10 ) ) ;
69- const invitationForm = new qx . ui . form . renderer . Single ( form ) ;
70- layout . add ( invitationForm ) ;
71- const win = osparc . ui . window . Window . popUpInWindow ( layout , email , 350 , 150 ) . set ( {
72- clickAwayClose : false ,
73- resizable : false ,
74- showClose : true
75- } ) ;
76- win . open ( ) ;
77- approveBtn . addListener ( "execute" , ( ) => {
78- if ( ! osparc . data . Permissions . getInstance ( ) . canDo ( "user.invitation.generate" , true ) ) {
79- return ;
80- }
81- if ( form . validate ( ) ) {
82- approveBtn . setFetching ( true ) ;
83- const params = {
84- data : {
85- email,
86- } ,
87- } ;
88- params . data [ "invitation" ] = { } ;
89- const extraCreditsInUsd = form . getItems ( ) [ "credits" ] . getValue ( ) ;
90- if ( extraCreditsInUsd > 0 ) {
91- params . data [ "invitation" ] [ "extraCreditsInUsd" ] = extraCreditsInUsd ;
92- }
93- if ( form . getItems ( ) [ "withExpiration" ] . getValue ( ) ) {
94- params . data [ "invitation" ] [ "trialAccountDays" ] = form . getItems ( ) [ "trialDays" ] . getValue ( ) ;
95- }
96- osparc . data . Resources . fetch ( "poUsers" , "approveUser" , params )
97- . then ( ( ) => {
98- osparc . FlashMessenger . logAs ( qx . locale . Manager . tr ( "User approved" ) , "INFO" ) ;
99- } )
100- . catch ( err => osparc . FlashMessenger . logError ( err ) )
101- . finally ( ( ) => {
102- approveBtn . setFetching ( false ) ;
103- win . close ( ) ;
104- } ) ;
105- }
106- } ) ;
107- } ) ;
108- return button ;
109- } ,
110-
111- createRejectButton : function ( email ) {
112- const button = new osparc . ui . form . FetchButton ( qx . locale . Manager . tr ( "Reject" ) ) ;
113- button . addListener ( "execute" , ( ) => {
114- button . setFetching ( true ) ;
115- const params = {
116- data : {
117- email,
118- } ,
119- } ;
120- osparc . data . Resources . fetch ( "poUsers" , "rejectUser" , params )
121- . then ( ( ) => {
122- osparc . FlashMessenger . logAs ( qx . locale . Manager . tr ( "User denied" ) , "INFO" ) ;
123- } )
124- . catch ( err => osparc . FlashMessenger . logError ( err ) )
125- . finally ( ( ) => button . setFetching ( false ) ) ;
126- } ) ;
127- return button ;
128- } ,
129-
13059 createResendEmailButton : function ( email ) {
13160 const button = new osparc . ui . form . FetchButton ( qx . locale . Manager . tr ( "Resend Email" ) ) ;
13261 button . addListener ( "execute" , ( ) => {
@@ -274,14 +203,14 @@ qx.Class.define("osparc.po.UsersPending", {
274203
275204 switch ( pendingUser . accountRequestStatus ) {
276205 case "PENDING" : {
277- const approveButton = this . self ( ) . createApproveButton ( pendingUser . email ) ;
206+ const approveButton = this . __createApproveButton ( pendingUser . email ) ;
278207 buttonsLayout . add ( approveButton ) ;
279- const rejectButton = this . self ( ) . createRejectButton ( pendingUser . email ) ;
208+ const rejectButton = this . __createRejectButton ( pendingUser . email ) ;
280209 buttonsLayout . add ( rejectButton ) ;
281210 break ;
282211 }
283212 case "REJECTED" : {
284- const approveButton = this . self ( ) . createApproveButton ( pendingUser . email ) ;
213+ const approveButton = this . __createApproveButton ( pendingUser . email ) ;
285214 approveButton . setEnabled ( false ) ; // avoid changing decision for now
286215 buttonsLayout . add ( approveButton ) ;
287216 break ;
@@ -290,7 +219,7 @@ qx.Class.define("osparc.po.UsersPending", {
290219 const resendEmailButton = this . self ( ) . createResendEmailButton ( pendingUser . email ) ;
291220 resendEmailButton . setEnabled ( false ) ;
292221 buttonsLayout . add ( resendEmailButton ) ;
293- const rejectButton = this . self ( ) . createRejectButton ( pendingUser . email ) ;
222+ const rejectButton = this . __createRejectButton ( pendingUser . email ) ;
294223 rejectButton . setEnabled ( false ) ; // avoid changing decision for now
295224 buttonsLayout . add ( rejectButton ) ;
296225 break ;
@@ -314,6 +243,87 @@ qx.Class.define("osparc.po.UsersPending", {
314243 this . __addRows ( pendingUsers . concat ( reviewedUsers ) ) ;
315244 } )
316245 . catch ( err => osparc . FlashMessenger . logError ( err ) ) ;
317- }
246+ } ,
247+
248+ __createApproveButton : function ( email ) {
249+ const button = new qx . ui . form . Button ( qx . locale . Manager . tr ( "Approve" ) ) ;
250+ button . addListener ( "execute" , ( ) => {
251+ const form = this . createInvitationForm ( false ) ;
252+ const approveBtn = new osparc . ui . form . FetchButton ( qx . locale . Manager . tr ( "Approve" ) ) ;
253+ approveBtn . set ( {
254+ appearance : "form-button"
255+ } ) ;
256+ form . addButton ( approveBtn ) ;
257+ const layout = new qx . ui . container . Composite ( new qx . ui . layout . VBox ( 10 ) ) ;
258+ const invitationForm = new qx . ui . form . renderer . Single ( form ) ;
259+ layout . add ( invitationForm ) ;
260+ const win = osparc . ui . window . Window . popUpInWindow ( layout , email , 350 , 150 ) . set ( {
261+ clickAwayClose : false ,
262+ resizable : false ,
263+ showClose : true
264+ } ) ;
265+ win . open ( ) ;
266+ approveBtn . addListener ( "execute" , ( ) => {
267+ if ( ! osparc . data . Permissions . getInstance ( ) . canDo ( "user.invitation.generate" , true ) ) {
268+ return ;
269+ }
270+ if ( form . validate ( ) ) {
271+ const approveUser = ( ) => {
272+ approveBtn . setFetching ( true ) ;
273+ this . __approveUser ( email , form )
274+ . then ( ( ) => {
275+ osparc . FlashMessenger . logAs ( qx . locale . Manager . tr ( "User approved" ) , "INFO" ) ;
276+ } )
277+ . catch ( err => osparc . FlashMessenger . logError ( err ) )
278+ . finally ( ( ) => {
279+ approveBtn . setFetching ( false ) ;
280+ win . close ( ) ;
281+ } ) ;
282+ } ;
283+
284+
285+ }
286+ } ) ;
287+ } ) ;
288+ return button ;
289+ } ,
290+
291+ __createRejectButton : function ( email ) {
292+ const button = new osparc . ui . form . FetchButton ( qx . locale . Manager . tr ( "Reject" ) ) ;
293+ button . addListener ( "execute" , ( ) => {
294+ button . setFetching ( true ) ;
295+ this . __rejectUser ( email )
296+ . then ( ( ) => osparc . FlashMessenger . logAs ( qx . locale . Manager . tr ( "User denied" ) , "INFO" ) )
297+ . catch ( err => osparc . FlashMessenger . logError ( err ) )
298+ . finally ( ( ) => button . setFetching ( false ) ) ;
299+ } ) ;
300+ return button ;
301+ } ,
302+
303+ __approveUser : function ( email , form ) {
304+ const params = {
305+ data : {
306+ email,
307+ } ,
308+ } ;
309+ params . data [ "invitation" ] = { } ;
310+ const extraCreditsInUsd = form . getItems ( ) [ "credits" ] . getValue ( ) ;
311+ if ( extraCreditsInUsd > 0 ) {
312+ params . data [ "invitation" ] [ "extraCreditsInUsd" ] = extraCreditsInUsd ;
313+ }
314+ if ( form . getItems ( ) [ "withExpiration" ] . getValue ( ) ) {
315+ params . data [ "invitation" ] [ "trialAccountDays" ] = form . getItems ( ) [ "trialDays" ] . getValue ( ) ;
316+ }
317+ return osparc . data . Resources . fetch ( "poUsers" , "approveUser" , params ) ;
318+ } ,
319+
320+ __rejectUser : function ( email ) {
321+ const params = {
322+ data : {
323+ email,
324+ } ,
325+ } ;
326+ return osparc . data . Resources . fetch ( "poUsers" , "rejectUser" , params ) ;
327+ } ,
318328 }
319329} ) ;
0 commit comments