Skip to content

Commit 7e0733d

Browse files
committed
Edit user: ref #335
1 parent 6758dcc commit 7e0733d

File tree

2 files changed

+94
-47
lines changed

2 files changed

+94
-47
lines changed

cli/cyberPanel.py

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1428,6 +1428,49 @@ def main():
14281428

14291429
print(response.content.decode())
14301430

1431+
elif args.function == "editUser":
1432+
1433+
completeCommandExample = 'cyberpanel editUser --userName cyberpanel --firstName Cyber --lastName Panel --email email@cyberpanel.net --password securepassword --securityLevel HIGH'
1434+
1435+
if not args.firstName:
1436+
print("\n\nPlease enter First Name. For example:\n\n" + completeCommandExample + "\n\n")
1437+
return
1438+
1439+
if not args.lastName:
1440+
print("\n\nPlease enter Last Name. For example:\n\n" + completeCommandExample + "\n\n")
1441+
return
1442+
1443+
if not args.email:
1444+
print("\n\nPlease enter Email. For example:\n\n" + completeCommandExample + "\n\n")
1445+
return
1446+
1447+
if not args.userName:
1448+
print("\n\nPlease enter User name. For example:\n\n" + completeCommandExample + "\n\n")
1449+
return
1450+
1451+
if not args.password:
1452+
print("\n\nPlease enter password. For example:\n\n" + completeCommandExample + "\n\n")
1453+
return
1454+
1455+
if not args.securityLevel:
1456+
print("\n\nPlease set security level. For example:\n\n" + completeCommandExample + "\n\n")
1457+
return
1458+
1459+
from userManagment.views import saveModifications
1460+
1461+
data = {}
1462+
data['accountUsername'] = args.userName
1463+
data['firstName'] = args.firstName
1464+
data['lastName'] = args.lastName
1465+
data['email'] = args.email
1466+
data['passwordByPass'] = args.password
1467+
data['securityLevel'] = args.securityLevel
1468+
data['userID'] = 1
1469+
1470+
response = saveModifications(data)
1471+
1472+
print(response.content.decode())
1473+
14311474

14321475

14331476

userManagment/views.py

Lines changed: 51 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ def loadUserHome(request):
3232
except KeyError:
3333
return redirect(loadLoginPage)
3434

35-
3635
def viewProfile(request):
3736
try:
3837
userID = request.session['userID']
@@ -52,7 +51,6 @@ def viewProfile(request):
5251
except KeyError:
5352
return redirect(loadLoginPage)
5453

55-
5654
def createUser(request):
5755
try:
5856
userID = request.session['userID']
@@ -74,7 +72,6 @@ def createUser(request):
7472
logging.CyberCPLogFileWriter.writeToFile(str(msg))
7573
return redirect(loadLoginPage)
7674

77-
7875
def apiAccess(request):
7976
try:
8077
userID = request.session['userID']
@@ -317,62 +314,69 @@ def fetchUserDetails(request):
317314

318315
def saveModifications(request):
319316
try:
320-
val = request.session['userID']
321317
try:
322-
if request.method == 'POST':
318+
val = request.session['userID']
319+
except:
320+
val = request['userID']
321+
try:
322+
try:
323323
data = json.loads(request.body)
324-
accountUsername = data['accountUsername']
325-
firstName = data['firstName']
326-
lastName = data['lastName']
327-
email = data['email']
328-
try:
329-
securityLevel = data['securityLevel']
330-
except:
331-
securityLevel = 'HIGH'
324+
except:
325+
data = request
332326

333-
user = Administrator.objects.get(userName=accountUsername)
327+
accountUsername = data['accountUsername']
328+
firstName = data['firstName']
329+
lastName = data['lastName']
330+
email = data['email']
331+
try:
332+
securityLevel = data['securityLevel']
333+
except:
334+
securityLevel = 'HIGH'
334335

335-
currentACL = ACLManager.loadedACL(val)
336-
loggedUser = Administrator.objects.get(pk=val)
336+
user = Administrator.objects.get(userName=accountUsername)
337337

338-
if currentACL['admin'] == 1:
339-
pass
340-
elif user.owner == loggedUser.pk:
341-
pass
342-
elif user.pk == loggedUser.pk:
343-
pass
344-
else:
345-
data_ret = {'fetchStatus': 0, 'error_message': 'Un-authorized access.'}
346-
json_data = json.dumps(data_ret)
347-
return HttpResponse(json_data)
338+
currentACL = ACLManager.loadedACL(val)
339+
loggedUser = Administrator.objects.get(pk=val)
340+
341+
if currentACL['admin'] == 1:
342+
pass
343+
elif user.owner == loggedUser.pk:
344+
pass
345+
elif user.pk == loggedUser.pk:
346+
pass
347+
else:
348+
data_ret = {'fetchStatus': 0, 'error_message': 'Un-authorized access.'}
349+
json_data = json.dumps(data_ret)
350+
return HttpResponse(json_data)
348351

349-
token = hashPassword.generateToken(accountUsername, data['passwordByPass'])
350-
password = hashPassword.hash_password(data['passwordByPass'])
352+
token = hashPassword.generateToken(accountUsername, data['passwordByPass'])
353+
password = hashPassword.hash_password(data['passwordByPass'])
351354

352-
user.firstName = firstName
353-
user.lastName = lastName
354-
user.email = email
355-
user.password = password
356-
user.token = token
357-
user.type = 0
355+
user.firstName = firstName
356+
user.lastName = lastName
357+
user.email = email
358+
user.password = password
359+
user.token = token
360+
user.type = 0
358361

359-
if securityLevel == 'LOW':
360-
user.securityLevel = secMiddleware.LOW
361-
else:
362-
user.securityLevel = secMiddleware.HIGH
362+
if securityLevel == 'LOW':
363+
user.securityLevel = secMiddleware.LOW
364+
else:
365+
user.securityLevel = secMiddleware.HIGH
363366

364-
user.save()
367+
user.save()
365368

366-
adminEmailPath = '/home/cyberpanel/adminEmail'
369+
adminEmailPath = '/home/cyberpanel/adminEmail'
367370

368-
if accountUsername == 'admin':
369-
writeToFile = open(adminEmailPath, 'w')
370-
writeToFile.write(email)
371-
writeToFile.close()
371+
if accountUsername == 'admin':
372+
writeToFile = open(adminEmailPath, 'w')
373+
writeToFile.write(email)
374+
writeToFile.close()
375+
376+
data_ret = {'status': 1, 'saveStatus': 1, 'error_message': 'None'}
377+
json_data = json.dumps(data_ret)
378+
return HttpResponse(json_data)
372379

373-
data_ret = {'status': 1, 'saveStatus': 1, 'error_message': 'None'}
374-
json_data = json.dumps(data_ret)
375-
return HttpResponse(json_data)
376380

377381
except BaseException as msg:
378382
data_ret = {'status': 0, 'saveStatus': 0, 'error_message': str(msg)}

0 commit comments

Comments
 (0)