mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-15 09:46:11 +01:00
ACL Manager
This commit is contained in:
@@ -4,7 +4,7 @@ from __future__ import unicode_literals
|
||||
from django.shortcuts import render,redirect
|
||||
from django.http import HttpResponse
|
||||
from plogical.getSystemInformation import SystemInformation
|
||||
from loginSystem.models import Administrator
|
||||
from loginSystem.models import Administrator, ACL
|
||||
import json
|
||||
from loginSystem.views import loadLoginPage
|
||||
import re
|
||||
@@ -14,67 +14,44 @@ import subprocess
|
||||
import shlex
|
||||
import os
|
||||
import plogical.CyberCPLogFileWriter as logging
|
||||
from plogical.virtualHostUtilities import virtualHostUtilities
|
||||
from plogical.acl import ACLManager
|
||||
# Create your views here.
|
||||
|
||||
|
||||
def renderBase(request):
|
||||
try:
|
||||
val = request.session['userID']
|
||||
userID = request.session['userID']
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
|
||||
admin = Administrator.objects.get(pk=val)
|
||||
if currentACL['admin'] == 1:
|
||||
admin = 1
|
||||
else:
|
||||
admin = 0
|
||||
|
||||
cpuRamDisk = SystemInformation.cpuRamDisk()
|
||||
|
||||
finaData = {"type": admin.type,'ramUsage':cpuRamDisk['ramUsage'],'cpuUsage':cpuRamDisk['cpuUsage'],'diskUsage':cpuRamDisk['diskUsage'] }
|
||||
finaData = {"admin": admin,'ramUsage':cpuRamDisk['ramUsage'],'cpuUsage':cpuRamDisk['cpuUsage'],'diskUsage':cpuRamDisk['diskUsage'] }
|
||||
|
||||
return render(request, 'baseTemplate/homePage.html', finaData)
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
def getAdminStatus(request):
|
||||
try:
|
||||
admin = request.session['userID']
|
||||
|
||||
administrator = Administrator.objects.get(pk=admin)
|
||||
|
||||
if administrator.type == 1:
|
||||
admin_type = "Administrator"
|
||||
elif administrator.type == 2:
|
||||
admin_type = "Reseller"
|
||||
else:
|
||||
admin_type = "Normal User"
|
||||
|
||||
# read server IP
|
||||
|
||||
try:
|
||||
ipFile = "/etc/cyberpanel/machineIP"
|
||||
f = open(ipFile)
|
||||
ipData = f.read()
|
||||
serverIPAddress = ipData.split('\n', 1)[0]
|
||||
except BaseException,msg:
|
||||
logging.CyberCPLogFileWriter.writeToFile("Failed to read machine IP, error:" +str(msg))
|
||||
serverIPAddress = "192.168.100.1"
|
||||
|
||||
adminName = administrator.firstName + " " + administrator.lastName[:3]
|
||||
|
||||
adminData = {"admin_type":admin_type,"user_name":adminName,"serverIPAddress":serverIPAddress}
|
||||
|
||||
json_data = json.dumps(adminData)
|
||||
val = request.session['userID']
|
||||
currentACL = ACLManager.loadedACL(val)
|
||||
|
||||
json_data = json.dumps(currentACL)
|
||||
return HttpResponse(json_data)
|
||||
except KeyError:
|
||||
return HttpResponse("Can not get admin Status")
|
||||
|
||||
|
||||
def getSystemStatus(request):
|
||||
try:
|
||||
|
||||
HTTPData = SystemInformation.getSystemInformation()
|
||||
json_data = json.dumps(HTTPData)
|
||||
return HttpResponse(json_data)
|
||||
|
||||
except KeyError:
|
||||
return HttpResponse("Can not get admin Status")
|
||||
|
||||
@@ -91,38 +68,35 @@ def getLoadAverage(request):
|
||||
|
||||
return HttpResponse(json_data)
|
||||
|
||||
|
||||
def versionManagment(request):
|
||||
try:
|
||||
val = request.session['userID']
|
||||
userID = request.session['userID']
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
|
||||
admin = Administrator.objects.get(pk=val)
|
||||
|
||||
if admin.type == 1:
|
||||
vers = version.objects.get(pk=1)
|
||||
|
||||
getVersion = requests.get('https://cyberpanel.net/version.txt')
|
||||
|
||||
latest = getVersion.json()
|
||||
|
||||
latestVersion = latest['version']
|
||||
latestBuild = latest['build']
|
||||
|
||||
if vers.currentVersion == latestVersion and vers.build == latestBuild:
|
||||
active = 0
|
||||
else:
|
||||
active = 0
|
||||
|
||||
return render(request, 'baseTemplate/versionManagment.html', {'build':vers.build,
|
||||
'currentVersion':vers.currentVersion,
|
||||
'latestVersion':latestVersion,'latestBuild':latestBuild,"active":active})
|
||||
if currentACL['admin'] == 1:
|
||||
pass
|
||||
elif currentACL['versionManagement'] == 1:
|
||||
pass
|
||||
else:
|
||||
return HttpResponse("You need to be admiministrator to view this page.")
|
||||
return ACLManager.loadError()
|
||||
|
||||
vers = version.objects.get(pk=1)
|
||||
|
||||
getVersion = requests.get('https://cyberpanel.net/version.txt')
|
||||
|
||||
latest = getVersion.json()
|
||||
|
||||
latestVersion = latest['version']
|
||||
latestBuild = latest['build']
|
||||
|
||||
return render(request, 'baseTemplate/versionManagment.html', {'build': vers.build,
|
||||
'currentVersion': vers.currentVersion,
|
||||
'latestVersion': latestVersion,
|
||||
'latestBuild': latestBuild})
|
||||
|
||||
except KeyError:
|
||||
return redirect(loadLoginPage)
|
||||
|
||||
|
||||
|
||||
def upgrade(request):
|
||||
try:
|
||||
admin = request.session['userID']
|
||||
@@ -156,8 +130,6 @@ def upgrade(request):
|
||||
json_data = json.dumps(adminData)
|
||||
return HttpResponse(json_data)
|
||||
|
||||
|
||||
|
||||
def upgradeStatus(request):
|
||||
try:
|
||||
val = request.session['userID']
|
||||
@@ -206,7 +178,6 @@ def upgradeStatus(request):
|
||||
final_json = json.dumps(final_dic)
|
||||
return HttpResponse(final_json)
|
||||
|
||||
|
||||
def upgradeVersion(request):
|
||||
try:
|
||||
vers = version.objects.get(pk=1)
|
||||
|
||||
Reference in New Issue
Block a user