Skip to content

Commit 51474fe

Browse files
committed
create user: ref #335
1 parent 277b222 commit 51474fe

3 files changed

Lines changed: 74 additions & 3 deletions

File tree

cli/cliParser.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,4 +54,12 @@ def prepareArguments(self):
5454
parser.add_argument('--userName', help='Email Username.')
5555
parser.add_argument('--password', help='Email password.')
5656

57+
### Additional Arguments for user manager
58+
59+
parser.add_argument('--firstName', help='First name while creating user.')
60+
parser.add_argument('--lastName', help='First name while creating user.')
61+
parser.add_argument('--websitesLimit', help='Website limit while creating user.')
62+
parser.add_argument('--selectedACL', help='Select ACL while creating user.')
63+
parser.add_argument('--securityLevel', help='Set security level while creating user.')
64+
5765
return parser.parse_args()

cli/cyberPanel.py

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
from plogical.sslUtilities import sslUtilities
2525
from plogical.processUtilities import ProcessUtilities
2626
from plogical.backupSchedule import backupSchedule
27+
from django.http import HttpRequest
2728

2829
# All that we see or seem is but a dream within a dream.
2930

@@ -1323,6 +1324,61 @@ def main():
13231324
currentversion = version + '.' + build
13241325
print (currentversion)
13251326

1327+
### User Functions
1328+
1329+
elif args.function == "createUser":
1330+
1331+
completeCommandExample = 'cyberpanel createUser --firstName Cyber --lastName Panel --email email@cyberpanel.net --userName cyberpanel --password securepassword --websitesLimit 10 --selectedACL user --securityLevel HIGH'
1332+
1333+
if not args.firstName:
1334+
print("\n\nPlease enter First Name. For example:\n\n" + completeCommandExample + "\n\n")
1335+
return
1336+
1337+
if not args.lastName:
1338+
print("\n\nPlease enter Last Name. For example:\n\n" + completeCommandExample + "\n\n")
1339+
return
1340+
1341+
if not args.email:
1342+
print("\n\nPlease enter Email. For example:\n\n" + completeCommandExample + "\n\n")
1343+
return
1344+
1345+
if not args.userName:
1346+
print("\n\nPlease enter User name. For example:\n\n" + completeCommandExample + "\n\n")
1347+
return
1348+
1349+
if not args.password:
1350+
print("\n\nPlease enter password. For example:\n\n" + completeCommandExample + "\n\n")
1351+
return
1352+
1353+
if not args.websitesLimit:
1354+
print("\n\nPlease enter website limit. For example:\n\n" + completeCommandExample + "\n\n")
1355+
return
1356+
1357+
if not args.selectedACL:
1358+
print("\n\nPlease enter select acl. For example:\n\n" + completeCommandExample + "\n\n")
1359+
return
1360+
1361+
if not args.securityLevel:
1362+
print("\n\nPlease set security level. For example:\n\n" + completeCommandExample + "\n\n")
1363+
return
1364+
1365+
from userManagment.views import submitUserCreation
1366+
1367+
data = {}
1368+
data['firstName'] = args.firstName
1369+
data['lastName'] = args.lastName
1370+
data['email'] = args.email
1371+
data['userName'] = args.userName
1372+
data['password'] = args.password
1373+
data['websitesLimit'] = args.websitesLimit
1374+
data['selectedACL'] = args.selectedACL
1375+
data['securityLevel'] = args.securityLevel
1376+
data['userID'] = 1
1377+
1378+
response = submitUserCreation(data)
1379+
1380+
print(response.content.decode())
1381+
13261382

13271383

13281384
if __name__ == "__main__":

userManagment/views.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,17 +126,24 @@ def submitUserCreation(request):
126126
try:
127127

128128
try:
129-
userID = request.session['userID']
130-
currentACL = ACLManager.loadedACL(userID)
129+
try:
130+
userID = request.session['userID']
131+
currentACL = ACLManager.loadedACL(userID)
132+
data = json.loads(request.body)
133+
except:
134+
userID = request['userID']
135+
data = request
136+
currentACL = ACLManager.loadedACL(userID)
137+
131138

132-
data = json.loads(request.body)
133139
firstName = data['firstName']
134140
lastName = data['lastName']
135141
email = data['email']
136142
userName = data['userName']
137143
password = data['password']
138144
websitesLimit = data['websitesLimit']
139145
selectedACL = data['selectedACL']
146+
140147
try:
141148
securityLevel = data['securityLevel']
142149
except:

0 commit comments

Comments
 (0)