mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2026-06-11 03:19:58 +02:00
ACL Manager
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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')
|
||||
]
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user