ACL Manager

This commit is contained in:
usmannasir
2018-08-18 00:39:10 +05:00
parent bc29c59287
commit f3230a010b
57 changed files with 25510 additions and 23870 deletions

View File

@@ -5,6 +5,73 @@ from django.db import models
# Create your models here.
class ACL(models.Model):
name = models.CharField(unique=True,max_length = 50)
adminStatus = models.IntegerField(default=0)
## Version Management
versionManagement = models.IntegerField(default=0)
## User Management
createNewUser = models.IntegerField(default=0)
deleteUser = models.IntegerField(default=0)
resellerCenter = models.IntegerField(default=0)
changeUserACL = models.IntegerField(default=0)
## Website Management
createWebsite = models.IntegerField(default=0)
modifyWebsite = models.IntegerField(default=0)
suspendWebsite = models.IntegerField(default=0)
deleteWebsite = models.IntegerField(default=0)
## Package Management
createPackage = models.IntegerField(default=0)
deletePackage = models.IntegerField(default=0)
modifyPackage = models.IntegerField(default=0)
## Database Management
createDatabase = models.IntegerField(default=1)
deleteDatabase = models.IntegerField(default=1)
listDatabases = models.IntegerField(default=1)
## DNS Management
createNameServer = models.IntegerField(default=0)
createDNSZone = models.IntegerField(default=1)
deleteZone = models.IntegerField(default=1)
addDeleteRecords = models.IntegerField(default=1)
## Email Management
createEmail = models.IntegerField(default=1)
deleteEmail = models.IntegerField(default=1)
emailForwarding = models.IntegerField(default=1)
changeEmailPassword = models.IntegerField(default=1)
dkimManager = models.IntegerField(default=1)
## FTP Management
createFTPAccount = models.IntegerField(default=1)
deleteFTPAccount = models.IntegerField(default=1)
listFTPAccounts = models.IntegerField(default=1)
## Backup Management
createBackup = models.IntegerField(default=1)
restoreBackup = models.IntegerField(default=0)
addDeleteDestinations = models.IntegerField(default=0)
scheDuleBackups = models.IntegerField(default=0)
remoteBackups = models.IntegerField(default=0)
## SSL Management
manageSSL = models.IntegerField(default=1)
hostnameSSL = models.IntegerField(default=0)
mailServerSSL = models.IntegerField(default=0)
class Administrator(models.Model):
userName = models.CharField(unique=True,max_length = 50)
password = models.CharField(max_length = 200)
@@ -14,5 +81,14 @@ class Administrator(models.Model):
type = models.IntegerField()
owner = models.IntegerField(default=1)
initUserAccountsLimit = models.IntegerField(default=0)
initWebsitesLimit = models.IntegerField(default=0)
initWebsitesLimit = models.IntegerField(default=0)
acl = models.ForeignKey(ACL, default=1)

View File

@@ -67,13 +67,13 @@
<div class="col-md-8 col-lg-6 clearfix center-margin">
<div class="row">
<div class="col-md-5">
<h3 class="text-transform-upr font-size-17">CyberPanel <span class="opacity-80">v 1.7</span></h3>
<h3 class="text-transform-upr font-size-17">CyberPanel Ent<span class="opacity-80">v 1.7</span></h3>
<p class="font-gray">Web Hosting Control Panel</p>
<div class="divider"></div>
<ul class="reset-ul">
<li class="pad10A font-size-16">
<i class="glyph-icon icon-camera mrg10R font-green"></i>
OpenLiteSpeed
LiteSpeed
</li>
<li class="pad10A font-size-16">
<i class="glyph-icon icon-cog mrg10R font-red"></i>

View File

@@ -4,6 +4,5 @@ import views
urlpatterns = [
url(r'^$', views.loadLoginPage, name='adminLogin'),
url(r'^verifyLogin$', views.verifyLogin, name='verifyLogin'),
url(r'^logout', views.logout, name='logout'),
url(r'^logout', views.logout, name='logout')
]

View File

@@ -12,6 +12,8 @@ from baseTemplate.models import version
from plogical.getSystemInformation import SystemInformation
from django.utils.translation import LANGUAGE_SESSION_KEY
import CyberCP.settings as settings
from models import ACL
from plogical.acl import ACLManager
# Create your views here.
def verifyLogin(request):
@@ -113,15 +115,19 @@ def verifyLogin(request):
json_data = json.dumps(data)
return HttpResponse(json_data)
def loadLoginPage(request):
try:
userID = request.session['userID']
admin = Administrator.objects.get(pk=userID)
currentACL = ACLManager.loadedACL(userID)
cpuRamDisk = SystemInformation.cpuRamDisk()
finaData = {"type": admin.type, 'ramUsage': cpuRamDisk['ramUsage'], 'cpuUsage': cpuRamDisk['cpuUsage'],
if currentACL['admin'] == 1:
admin = 1
else:
admin = 0
finaData = {"admin": admin, 'ramUsage': cpuRamDisk['ramUsage'], 'cpuUsage': cpuRamDisk['cpuUsage'],
'diskUsage': cpuRamDisk['diskUsage']}
return render(request, 'baseTemplate/homePage.html', finaData)
@@ -132,9 +138,14 @@ def loadLoginPage(request):
password = hashPassword.hash_password('1234567')
if numberOfAdministrator == 0:
ACLManager.createDefaultACLs()
acl = ACL.objects.get(name='admin')
email = 'usman@cyberpersons.com'
admin = Administrator(userName="admin", password=password, type=1,email=email,
firstName="Cyber",lastName="Panel")
firstName="Cyber",lastName="Panel", acl=acl)
admin.save()
vers = version(currentVersion="1.7",build=0)