@@ -105,27 +105,29 @@ class AdminUsers extends React.Component {
105
105
modalLoading : false ,
106
106
disableRegisterState : false ,
107
107
disableLoading : false ,
108
+ disableLoading2 : false ,
109
+ disableAdminShow : false ,
108
110
selectedTableKeys : [ ] ,
109
111
disableEditButtons : true
110
112
}
111
113
}
112
114
113
115
componentDidMount ( ) {
114
116
this . fillTableData ( )
115
- this . getDisableRegister ( )
117
+ this . getDisableStates ( )
116
118
}
117
119
118
- getDisableRegister = async ( ) => {
120
+ getDisableStates = async ( ) => {
119
121
this . setState ( { disableLoading : true } )
120
- await fetch ( window . ipAddress + "/v1/account/disableCreate " , {
122
+ await fetch ( window . ipAddress + "/v1/account/disableStates " , {
121
123
method : 'get' ,
122
124
headers : { 'Content-Type' : 'application/json' , "Authorization" : localStorage . getItem ( "IRSCTF-token" ) } ,
123
125
} ) . then ( ( results ) => {
124
126
return results . json ( ) ; //return data in JSON (since its JSON data)
125
127
} ) . then ( ( data ) => {
126
128
if ( data . success === true ) {
127
129
//console.log(data)
128
- this . setState ( { disableRegisterState : data . state } )
130
+ this . setState ( { disableRegisterState : data . states . registerDisable , disableAdminShow : data . states . adminShowDisable } )
129
131
}
130
132
else {
131
133
message . error ( { content : "Oops. Unknown error" } )
@@ -193,7 +195,7 @@ class AdminUsers extends React.Component {
193
195
194
196
195
197
deleteAccounts = async ( close , users ) => {
196
- this . setState ( { disableEditButtons : true } )
198
+ this . setState ( { disableEditButtons : true } )
197
199
await fetch ( window . ipAddress + "/v1/account/delete" , {
198
200
method : 'post' ,
199
201
headers : { 'Content-Type' : 'application/json' , "Authorization" : localStorage . getItem ( "IRSCTF-token" ) } ,
@@ -215,16 +217,16 @@ class AdminUsers extends React.Component {
215
217
else {
216
218
message . error ( { content : "Oops. Unknown error" } )
217
219
}
218
-
220
+
219
221
220
222
221
223
} ) . catch ( ( error ) => {
222
224
console . log ( error )
223
225
message . error ( { content : "Oops. There was an issue connecting with the server" } ) ;
224
-
226
+
225
227
} )
226
228
close ( )
227
- this . setState ( { selectedTableKeys : [ ] } )
229
+ this . setState ( { selectedTableKeys : [ ] } )
228
230
229
231
}
230
232
@@ -301,6 +303,38 @@ class AdminUsers extends React.Component {
301
303
this . setState ( { disableLoading : false } )
302
304
}
303
305
306
+ disableAdminShow = async ( value ) => {
307
+ this . setState ( { disableLoading2 : true } )
308
+ await fetch ( window . ipAddress + "/v1/account/adminShowDisable" , {
309
+ method : 'post' ,
310
+ headers : { 'Content-Type' : 'application/json' , "Authorization" : localStorage . getItem ( "IRSCTF-token" ) } ,
311
+ body : JSON . stringify ( {
312
+ disable : value
313
+ } )
314
+ } ) . then ( ( results ) => {
315
+ return results . json ( ) ; //return data in JSON (since its JSON data)
316
+ } ) . then ( ( data ) => {
317
+ if ( data . success === true ) {
318
+ if ( value ) {
319
+ message . success ( "Admin scores disabled" )
320
+ }
321
+ else {
322
+ message . success ( "Admin scores enabled" )
323
+ }
324
+ this . setState ( { disableAdminShow : value } )
325
+
326
+ }
327
+ else {
328
+ message . error ( { content : "Oops. Unknown error" } )
329
+ }
330
+
331
+
332
+ } ) . catch ( ( error ) => {
333
+ message . error ( { content : "Oops. There was an issue connecting with the server" } ) ;
334
+ } )
335
+ this . setState ( { disableLoading2 : false } )
336
+ }
337
+
304
338
305
339
handleTableSelect = ( selectedRowKeys ) => {
306
340
this . setState ( { selectedTableKeys : selectedRowKeys } )
@@ -413,7 +447,21 @@ class AdminUsers extends React.Component {
413
447
/>
414
448
</ Table >
415
449
< Divider />
416
- < h3 > Disable User Registration: < Switch disabled = { this . state . disableLoading } onClick = { this . disableRegister } checked = { this . state . disableRegisterState } /> </ h3 >
450
+
451
+ < div style = { { display : "flex" , justifyContent : "space-between" } } >
452
+
453
+ < div >
454
+ < h3 > Disable User Registration: < Switch disabled = { this . state . disableLoading } onClick = { this . disableRegister } checked = { this . state . disableRegisterState } /> </ h3 >
455
+ < p > Disables user registration for unregistered users. Admins can still create users from this page.</ p >
456
+ </ div >
457
+
458
+ < Divider type = "vertical" style = { { height : "inherit" } } />
459
+
460
+ < div >
461
+ < h3 > Disable Admin Scores: < Switch disabled = { this . state . disableLoading2 } onClick = { this . disableAdminShow } checked = { this . state . disableAdminShow } /> </ h3 >
462
+ < p > Prevents admin scores from showing up on scoreboards and profile pages. Admin solves will still appear under the solve list in challenges.</ p >
463
+ </ div >
464
+ </ div >
417
465
418
466
</ Layout >
419
467
) ;
0 commit comments