mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-07 05:45:59 +01:00
fix createUser and modifyUser securityLevel defaults
This commit is contained in:
10
CyberCP/SecurityLevel.py
Normal file
10
CyberCP/SecurityLevel.py
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
|
||||||
|
class SecurityLevel(Enum):
|
||||||
|
HIGH = 0
|
||||||
|
LOW = 1
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def list():
|
||||||
|
return list(map(lambda s: s.name, SecurityLevel))
|
||||||
@@ -1,10 +1,8 @@
|
|||||||
# -*- coding: utf-8 -*-
|
|
||||||
|
|
||||||
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
|
from CyberCP.SecurityLevel import SecurityLevel
|
||||||
|
|
||||||
|
|
||||||
# Create your models here.
|
# Create your models here.
|
||||||
|
|
||||||
class ACL(models.Model):
|
class ACL(models.Model):
|
||||||
name = models.CharField(unique=True,max_length = 50)
|
name = models.CharField(unique=True,max_length = 50)
|
||||||
adminStatus = models.IntegerField(default=0)
|
adminStatus = models.IntegerField(default=0)
|
||||||
@@ -85,7 +83,10 @@ class Administrator(models.Model):
|
|||||||
owner = models.IntegerField(default=1)
|
owner = models.IntegerField(default=1)
|
||||||
token = models.CharField(max_length=500, default='None')
|
token = models.CharField(max_length=500, default='None')
|
||||||
api = models.IntegerField(default=0)
|
api = models.IntegerField(default=0)
|
||||||
securityLevel = models.IntegerField(default=0)
|
securityLevel = models.IntegerField(
|
||||||
|
default=0,
|
||||||
|
choices=[(tag, tag.value) for tag in SecurityLevel]
|
||||||
|
)
|
||||||
state = models.CharField(max_length=10, default='ACTIVE')
|
state = models.CharField(max_length=10, default='ACTIVE')
|
||||||
|
|
||||||
initWebsitesLimit = models.IntegerField(default=0)
|
initWebsitesLimit = models.IntegerField(default=0)
|
||||||
|
|||||||
@@ -188,7 +188,8 @@ app.controller('modifyUser', function ($scope, $http) {
|
|||||||
$scope.firstName = userDetails.firstName;
|
$scope.firstName = userDetails.firstName;
|
||||||
$scope.lastName = userDetails.lastName;
|
$scope.lastName = userDetails.lastName;
|
||||||
$scope.email = userDetails.email;
|
$scope.email = userDetails.email;
|
||||||
$scope.secLevel = userDetails.securityLevel;
|
$scope.securityLevel = userDetails.securityLevel;
|
||||||
|
$scope.currentSecurityLevel = userDetails.securityLevel;
|
||||||
$scope.twofa = Boolean(userDetails.twofa);
|
$scope.twofa = Boolean(userDetails.twofa);
|
||||||
|
|
||||||
qrCode.set({
|
qrCode.set({
|
||||||
|
|||||||
@@ -188,7 +188,8 @@ app.controller('modifyUser', function ($scope, $http) {
|
|||||||
$scope.firstName = userDetails.firstName;
|
$scope.firstName = userDetails.firstName;
|
||||||
$scope.lastName = userDetails.lastName;
|
$scope.lastName = userDetails.lastName;
|
||||||
$scope.email = userDetails.email;
|
$scope.email = userDetails.email;
|
||||||
$scope.secLevel = userDetails.securityLevel;
|
$scope.securityLevel = userDetails.securityLevel;
|
||||||
|
$scope.currentSecurityLevel = userDetails.securityLevel;
|
||||||
$scope.twofa = Boolean(userDetails.twofa);
|
$scope.twofa = Boolean(userDetails.twofa);
|
||||||
|
|
||||||
qrCode.set({
|
qrCode.set({
|
||||||
|
|||||||
@@ -106,9 +106,9 @@
|
|||||||
<div ng-hide="acctDetailsFetched" class="form-group">
|
<div ng-hide="acctDetailsFetched" class="form-group">
|
||||||
<label class="col-sm-3 control-label">{% trans "Security Level" %}</label>
|
<label class="col-sm-3 control-label">{% trans "Security Level" %}</label>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<select ng-change="fetchUserDetails()" ng-model="securityLevel" class="form-control">
|
<select ng-init="securityLevels={{ securityLevels }};securityLevel='HIGH'"
|
||||||
<option>HIGH</option>
|
ng-model="securityLevel" ng-options="s for s in securityLevels track by s"
|
||||||
<option>LOW</option>
|
class="form-control">
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -101,13 +101,13 @@
|
|||||||
<div ng-hide="acctDetailsFetched" class="form-group">
|
<div ng-hide="acctDetailsFetched" class="form-group">
|
||||||
<label class="col-sm-3 control-label">{% trans "Security Level" %}</label>
|
<label class="col-sm-3 control-label">{% trans "Security Level" %}</label>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<select ng-change="fetchUserDetails()" ng-model="securityLevel" class="form-control">
|
<select ng-init="securityLevels={{ securityLevels }}"
|
||||||
<option>HIGH</option>
|
ng-model="securityLevel" ng-options="s for s in securityLevels track by s"
|
||||||
<option>LOW</option>
|
class="form-control">
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-3">
|
<div class="col-sm-3">
|
||||||
Currently: {$ secLevel $}
|
Currently: {$ currentSecurityLevel $}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ from plogical import CyberCPLogFileWriter as logging
|
|||||||
from plogical.acl import ACLManager
|
from plogical.acl import ACLManager
|
||||||
from plogical.virtualHostUtilities import virtualHostUtilities
|
from plogical.virtualHostUtilities import virtualHostUtilities
|
||||||
from CyberCP.secMiddleware import secMiddleware
|
from CyberCP.secMiddleware import secMiddleware
|
||||||
|
from CyberCP.SecurityLevel import SecurityLevel
|
||||||
|
|
||||||
# Create your views here.
|
# Create your views here.
|
||||||
|
|
||||||
@@ -58,13 +59,16 @@ def createUser(request):
|
|||||||
|
|
||||||
if currentACL['admin'] == 1:
|
if currentACL['admin'] == 1:
|
||||||
aclNames = ACLManager.unFileteredACLs()
|
aclNames = ACLManager.unFileteredACLs()
|
||||||
return render(request, 'userManagment/createUser.html', {'aclNames': aclNames})
|
return render(request, 'userManagment/createUser.html',
|
||||||
|
{'aclNames': aclNames, 'securityLevels': SecurityLevel.list()})
|
||||||
elif currentACL['changeUserACL'] == 1:
|
elif currentACL['changeUserACL'] == 1:
|
||||||
aclNames = ACLManager.unFileteredACLs()
|
aclNames = ACLManager.unFileteredACLs()
|
||||||
return render(request, 'userManagment/createUser.html', {'aclNames': aclNames})
|
return render(request, 'userManagment/createUser.html',
|
||||||
|
{'aclNames': aclNames, 'securityLevels': SecurityLevel.list()})
|
||||||
elif currentACL['createNewUser'] == 1:
|
elif currentACL['createNewUser'] == 1:
|
||||||
aclNames = ['user']
|
aclNames = ['user']
|
||||||
return render(request, 'userManagment/createUser.html', {'aclNames': aclNames})
|
return render(request, 'userManagment/createUser.html',
|
||||||
|
{'aclNames': aclNames, 'securityLevels': SecurityLevel.list()})
|
||||||
else:
|
else:
|
||||||
return ACLManager.loadError()
|
return ACLManager.loadError()
|
||||||
|
|
||||||
@@ -244,11 +248,13 @@ def submitUserCreation(request):
|
|||||||
json_data = json.dumps(data_ret)
|
json_data = json.dumps(data_ret)
|
||||||
return HttpResponse(json_data)
|
return HttpResponse(json_data)
|
||||||
|
|
||||||
|
|
||||||
def modifyUsers(request):
|
def modifyUsers(request):
|
||||||
try:
|
try:
|
||||||
userID = request.session['userID']
|
userID = request.session['userID']
|
||||||
adminNames = ACLManager.loadAllUsers(userID)
|
userNames = ACLManager.loadAllUsers(userID)
|
||||||
return render(request, 'userManagment/modifyUser.html', {"acctNames": adminNames})
|
return render(request, 'userManagment/modifyUser.html',
|
||||||
|
{"acctNames": userNames, 'securityLevels': SecurityLevel.list()})
|
||||||
except KeyError:
|
except KeyError:
|
||||||
return redirect(loadLoginPage)
|
return redirect(loadLoginPage)
|
||||||
|
|
||||||
@@ -281,12 +287,6 @@ def fetchUserDetails(request):
|
|||||||
email = user.email
|
email = user.email
|
||||||
|
|
||||||
websitesLimit = user.initWebsitesLimit
|
websitesLimit = user.initWebsitesLimit
|
||||||
securityLevel = ''
|
|
||||||
|
|
||||||
if user.securityLevel == secMiddleware.LOW:
|
|
||||||
securityLevel = 'Low'
|
|
||||||
else:
|
|
||||||
securityLevel = 'High'
|
|
||||||
|
|
||||||
import pyotp
|
import pyotp
|
||||||
|
|
||||||
@@ -303,7 +303,7 @@ def fetchUserDetails(request):
|
|||||||
"email": email,
|
"email": email,
|
||||||
"acl": user.acl.name,
|
"acl": user.acl.name,
|
||||||
"websitesLimit": websitesLimit,
|
"websitesLimit": websitesLimit,
|
||||||
"securityLevel": securityLevel,
|
"securityLevel": SecurityLevel(user.securityLevel).name,
|
||||||
"otpauth": otpauth,
|
"otpauth": otpauth,
|
||||||
'twofa': user.twoFA
|
'twofa': user.twoFA
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user