mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-09 14:56:10 +01:00
Edit user: ref https://github.com/usmannasir/cyberpanel/issues/335
This commit is contained in:
@@ -1428,6 +1428,49 @@ def main():
|
|||||||
|
|
||||||
print(response.content.decode())
|
print(response.content.decode())
|
||||||
|
|
||||||
|
elif args.function == "editUser":
|
||||||
|
|
||||||
|
completeCommandExample = 'cyberpanel editUser --userName cyberpanel --firstName Cyber --lastName Panel --email email@cyberpanel.net --password securepassword --securityLevel HIGH'
|
||||||
|
|
||||||
|
if not args.firstName:
|
||||||
|
print("\n\nPlease enter First Name. For example:\n\n" + completeCommandExample + "\n\n")
|
||||||
|
return
|
||||||
|
|
||||||
|
if not args.lastName:
|
||||||
|
print("\n\nPlease enter Last Name. For example:\n\n" + completeCommandExample + "\n\n")
|
||||||
|
return
|
||||||
|
|
||||||
|
if not args.email:
|
||||||
|
print("\n\nPlease enter Email. For example:\n\n" + completeCommandExample + "\n\n")
|
||||||
|
return
|
||||||
|
|
||||||
|
if not args.userName:
|
||||||
|
print("\n\nPlease enter User name. For example:\n\n" + completeCommandExample + "\n\n")
|
||||||
|
return
|
||||||
|
|
||||||
|
if not args.password:
|
||||||
|
print("\n\nPlease enter password. For example:\n\n" + completeCommandExample + "\n\n")
|
||||||
|
return
|
||||||
|
|
||||||
|
if not args.securityLevel:
|
||||||
|
print("\n\nPlease set security level. For example:\n\n" + completeCommandExample + "\n\n")
|
||||||
|
return
|
||||||
|
|
||||||
|
from userManagment.views import saveModifications
|
||||||
|
|
||||||
|
data = {}
|
||||||
|
data['accountUsername'] = args.userName
|
||||||
|
data['firstName'] = args.firstName
|
||||||
|
data['lastName'] = args.lastName
|
||||||
|
data['email'] = args.email
|
||||||
|
data['passwordByPass'] = args.password
|
||||||
|
data['securityLevel'] = args.securityLevel
|
||||||
|
data['userID'] = 1
|
||||||
|
|
||||||
|
response = saveModifications(data)
|
||||||
|
|
||||||
|
print(response.content.decode())
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -32,7 +32,6 @@ def loadUserHome(request):
|
|||||||
except KeyError:
|
except KeyError:
|
||||||
return redirect(loadLoginPage)
|
return redirect(loadLoginPage)
|
||||||
|
|
||||||
|
|
||||||
def viewProfile(request):
|
def viewProfile(request):
|
||||||
try:
|
try:
|
||||||
userID = request.session['userID']
|
userID = request.session['userID']
|
||||||
@@ -52,7 +51,6 @@ def viewProfile(request):
|
|||||||
except KeyError:
|
except KeyError:
|
||||||
return redirect(loadLoginPage)
|
return redirect(loadLoginPage)
|
||||||
|
|
||||||
|
|
||||||
def createUser(request):
|
def createUser(request):
|
||||||
try:
|
try:
|
||||||
userID = request.session['userID']
|
userID = request.session['userID']
|
||||||
@@ -74,7 +72,6 @@ def createUser(request):
|
|||||||
logging.CyberCPLogFileWriter.writeToFile(str(msg))
|
logging.CyberCPLogFileWriter.writeToFile(str(msg))
|
||||||
return redirect(loadLoginPage)
|
return redirect(loadLoginPage)
|
||||||
|
|
||||||
|
|
||||||
def apiAccess(request):
|
def apiAccess(request):
|
||||||
try:
|
try:
|
||||||
userID = request.session['userID']
|
userID = request.session['userID']
|
||||||
@@ -317,63 +314,70 @@ def fetchUserDetails(request):
|
|||||||
|
|
||||||
def saveModifications(request):
|
def saveModifications(request):
|
||||||
try:
|
try:
|
||||||
val = request.session['userID']
|
|
||||||
try:
|
try:
|
||||||
if request.method == 'POST':
|
val = request.session['userID']
|
||||||
|
except:
|
||||||
|
val = request['userID']
|
||||||
|
try:
|
||||||
|
try:
|
||||||
data = json.loads(request.body)
|
data = json.loads(request.body)
|
||||||
accountUsername = data['accountUsername']
|
except:
|
||||||
firstName = data['firstName']
|
data = request
|
||||||
lastName = data['lastName']
|
|
||||||
email = data['email']
|
|
||||||
try:
|
|
||||||
securityLevel = data['securityLevel']
|
|
||||||
except:
|
|
||||||
securityLevel = 'HIGH'
|
|
||||||
|
|
||||||
user = Administrator.objects.get(userName=accountUsername)
|
accountUsername = data['accountUsername']
|
||||||
|
firstName = data['firstName']
|
||||||
|
lastName = data['lastName']
|
||||||
|
email = data['email']
|
||||||
|
try:
|
||||||
|
securityLevel = data['securityLevel']
|
||||||
|
except:
|
||||||
|
securityLevel = 'HIGH'
|
||||||
|
|
||||||
currentACL = ACLManager.loadedACL(val)
|
user = Administrator.objects.get(userName=accountUsername)
|
||||||
loggedUser = Administrator.objects.get(pk=val)
|
|
||||||
|
|
||||||
if currentACL['admin'] == 1:
|
currentACL = ACLManager.loadedACL(val)
|
||||||
pass
|
loggedUser = Administrator.objects.get(pk=val)
|
||||||
elif user.owner == loggedUser.pk:
|
|
||||||
pass
|
|
||||||
elif user.pk == loggedUser.pk:
|
|
||||||
pass
|
|
||||||
else:
|
|
||||||
data_ret = {'fetchStatus': 0, 'error_message': 'Un-authorized access.'}
|
|
||||||
json_data = json.dumps(data_ret)
|
|
||||||
return HttpResponse(json_data)
|
|
||||||
|
|
||||||
token = hashPassword.generateToken(accountUsername, data['passwordByPass'])
|
if currentACL['admin'] == 1:
|
||||||
password = hashPassword.hash_password(data['passwordByPass'])
|
pass
|
||||||
|
elif user.owner == loggedUser.pk:
|
||||||
user.firstName = firstName
|
pass
|
||||||
user.lastName = lastName
|
elif user.pk == loggedUser.pk:
|
||||||
user.email = email
|
pass
|
||||||
user.password = password
|
else:
|
||||||
user.token = token
|
data_ret = {'fetchStatus': 0, 'error_message': 'Un-authorized access.'}
|
||||||
user.type = 0
|
|
||||||
|
|
||||||
if securityLevel == 'LOW':
|
|
||||||
user.securityLevel = secMiddleware.LOW
|
|
||||||
else:
|
|
||||||
user.securityLevel = secMiddleware.HIGH
|
|
||||||
|
|
||||||
user.save()
|
|
||||||
|
|
||||||
adminEmailPath = '/home/cyberpanel/adminEmail'
|
|
||||||
|
|
||||||
if accountUsername == 'admin':
|
|
||||||
writeToFile = open(adminEmailPath, 'w')
|
|
||||||
writeToFile.write(email)
|
|
||||||
writeToFile.close()
|
|
||||||
|
|
||||||
data_ret = {'status': 1, 'saveStatus': 1, 'error_message': 'None'}
|
|
||||||
json_data = json.dumps(data_ret)
|
json_data = json.dumps(data_ret)
|
||||||
return HttpResponse(json_data)
|
return HttpResponse(json_data)
|
||||||
|
|
||||||
|
token = hashPassword.generateToken(accountUsername, data['passwordByPass'])
|
||||||
|
password = hashPassword.hash_password(data['passwordByPass'])
|
||||||
|
|
||||||
|
user.firstName = firstName
|
||||||
|
user.lastName = lastName
|
||||||
|
user.email = email
|
||||||
|
user.password = password
|
||||||
|
user.token = token
|
||||||
|
user.type = 0
|
||||||
|
|
||||||
|
if securityLevel == 'LOW':
|
||||||
|
user.securityLevel = secMiddleware.LOW
|
||||||
|
else:
|
||||||
|
user.securityLevel = secMiddleware.HIGH
|
||||||
|
|
||||||
|
user.save()
|
||||||
|
|
||||||
|
adminEmailPath = '/home/cyberpanel/adminEmail'
|
||||||
|
|
||||||
|
if accountUsername == 'admin':
|
||||||
|
writeToFile = open(adminEmailPath, 'w')
|
||||||
|
writeToFile.write(email)
|
||||||
|
writeToFile.close()
|
||||||
|
|
||||||
|
data_ret = {'status': 1, 'saveStatus': 1, 'error_message': 'None'}
|
||||||
|
json_data = json.dumps(data_ret)
|
||||||
|
return HttpResponse(json_data)
|
||||||
|
|
||||||
|
|
||||||
except BaseException as msg:
|
except BaseException as msg:
|
||||||
data_ret = {'status': 0, 'saveStatus': 0, 'error_message': str(msg)}
|
data_ret = {'status': 0, 'saveStatus': 0, 'error_message': str(msg)}
|
||||||
json_data = json.dumps(data_ret)
|
json_data = json.dumps(data_ret)
|
||||||
|
|||||||
Reference in New Issue
Block a user