@@ -240,7 +240,6 @@ def submitUserCreation(request):
240240 json_data = json .dumps (data_ret )
241241 return HttpResponse (json_data )
242242
243-
244243def modifyUsers (request ):
245244 try :
246245 userID = request .session ['userID' ]
@@ -1011,3 +1010,59 @@ def fetchTableUsers(request):
10111010
10121011 except KeyError :
10131012 return redirect (loadLoginPage )
1013+
1014+ def controlUserState (request ):
1015+ try :
1016+ val = request .session ['userID' ]
1017+ try :
1018+ if request .method == 'POST' :
1019+ data = json .loads (request .body )
1020+ accountUsername = data ['accountUsername' ]
1021+ state = data ['state' ]
1022+
1023+ user = Administrator .objects .get (userName = accountUsername )
1024+
1025+ currentACL = ACLManager .loadedACL (val )
1026+ loggedUser = Administrator .objects .get (pk = val )
1027+
1028+ if currentACL ['admin' ] == 1 :
1029+ pass
1030+ elif user .owner == loggedUser .pk :
1031+ pass
1032+ elif user .pk == loggedUser .pk :
1033+ pass
1034+ else :
1035+ data_ret = {'fetchStatus' : 0 , 'error_message' : 'Un-authorized access.' }
1036+ json_data = json .dumps (data_ret )
1037+ return HttpResponse (json_data )
1038+
1039+ if state == 'SUSPEND' :
1040+ user .state = 'SUSPENDED'
1041+ else :
1042+ user .state = 'ACTIVE'
1043+
1044+ user .save ()
1045+
1046+ extraArgs = {}
1047+ extraArgs ['user' ] = user
1048+ extraArgs ['currentACL' ] = currentACL
1049+ extraArgs ['state' ] = state
1050+
1051+ from userManagment .userManager import UserManager
1052+
1053+ um = UserManager ('controlUserState' , extraArgs )
1054+ um .start ()
1055+
1056+ data_ret = {'status' : 1 }
1057+ json_data = json .dumps (data_ret )
1058+ return HttpResponse (json_data )
1059+
1060+ except BaseException as msg :
1061+ data_ret = {'status' : 0 , 'saveStatus' : 0 , 'error_message' : str (msg )}
1062+ json_data = json .dumps (data_ret )
1063+ return HttpResponse (json_data )
1064+
1065+ except KeyError :
1066+ data_ret = {'status' : 0 , 'saveStatus' : 0 , 'error_message' : "Not logged in as admin" , }
1067+ json_data = json .dumps (data_ret )
1068+ return HttpResponse (json_data )
0 commit comments