centralize acl control

This commit is contained in:
Usman Nasir
2021-02-23 23:38:58 +05:00
parent f5c924a90b
commit 41cd37f4ec
11 changed files with 900 additions and 826 deletions

View File

@@ -0,0 +1,42 @@
{% extends "baseTemplate/index.html" %}
{% load i18n %}
{% block title %}{% trans "Home - CyberPanel" %}{% endblock %}
{% block content %}
{% get_current_language as LANGUAGE_CODE %}
<!-- Current language: {{ LANGUAGE_CODE }} -->
<div class="container">
<div id="page-title">
<h2>{% trans "Home" %}</h2>
<p>{% trans "Use the tabs to navigate through the control panel." %}</p>
</div>
<!--- Hide statistics for non-admins--->
<div class="mx-10 col-lg-9 panel col-md-push-50">
<div class="panel-body">
<h3 class="content-box-header">
{% trans "Something went wrong..." %}
</h3>
<div class="example-box-wrapper mt-5">
<div class="alert alert-danger">
<h4 class="alert-title">Error</h4>
<p>Error: {{ error_message }}</p>
</div>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@@ -4,28 +4,28 @@
{% block content %}
{% get_current_language as LANGUAGE_CODE %}
<!-- Current language: {{ LANGUAGE_CODE }} -->
{% get_current_language as LANGUAGE_CODE %}
<!-- Current language: {{ LANGUAGE_CODE }} -->
<div class="container">
<div id="page-title">
<h2>{% trans "Home" %}</h2>
<p>{% trans "Use the tabs to navigate through the control panel." %}</p>
</div>
<div class="container">
<div id="page-title">
<h2>{% trans "Home" %}</h2>
<p>{% trans "Use the tabs to navigate through the control panel." %}</p>
</div>
<!--- Hide statistics for non-admins--->
<!--- Hide statistics for non-admins--->
<div class="mx-10 col-lg-9 panel col-md-push-50">
<div class="panel-body">
<h3 class="content-box-header">
{% trans "Available Functions" %}
</h3>
<div class="mx-10 col-lg-9 panel col-md-push-50">
<div class="panel-body">
<h3 class="content-box-header">
{% trans "Available Functions" %}
</h3>
<div class="example-box-wrapper mt-5">
<div class="row mx-5">
<div class="col-md-4">
<a href="{% url 'loadUsersHome' %}" title="{% trans 'User Functions' %}" class="tile-box tile-box-shortcut btn-primary">
<div class="example-box-wrapper mt-5">
<div class="row mx-5">
<div class="col-md-4">
<a href="{% url 'loadUsersHome' %}" title="{% trans 'User Functions' %}"
class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "Users" %}
</div>
@@ -33,10 +33,11 @@
<i class="fa fa-users"></i>
</div>
</a>
</div>
</div>
<div class="col-md-4">
<a href="{% url 'loadWebsitesHome' %}" title="{% trans 'Website Functions' %}" class="tile-box tile-box-shortcut btn-primary">
<div class="col-md-4">
<a href="{% url 'loadWebsitesHome' %}" title="{% trans 'Website Functions' %}"
class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "Websites" %}
</div>
@@ -46,8 +47,9 @@
</a>
</div>
<div class="col-md-4">
<a href="{% url 'packagesHome' %}" title="{% trans 'Add/Modify Packages' %}" class="tile-box tile-box-shortcut btn-primary">
<div class="col-md-4">
<a href="{% url 'packagesHome' %}" title="{% trans 'Add/Modify Packages' %}"
class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "Packages" %}
</div>
@@ -55,10 +57,11 @@
<i class="fa fa-cubes"></i>
</div>
</a>
</div>
</div>
<div class="col-md-4">
<a href="{% url 'loadDatabaseHome' %}" title="{% trans 'Database Functions' %}" class="tile-box tile-box-shortcut btn-primary">
<div class="col-md-4">
<a href="{% url 'loadDatabaseHome' %}" title="{% trans 'Database Functions' %}"
class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "Databases" %}
</div>
@@ -66,10 +69,11 @@
<i class="fa fa-database"></i>
</div>
</a>
</div>
</div>
<div class="col-md-4">
<a href="{% url 'dnsHome' %}" title="{% trans 'Control DNS' %}" class="tile-box tile-box-shortcut btn-primary">
<div class="col-md-4">
<a href="{% url 'dnsHome' %}" title="{% trans 'Control DNS' %}"
class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "DNS" %}
</div>
@@ -77,10 +81,11 @@
<i class="fa fa-sitemap"></i>
</div>
</a>
</div>
</div>
<div class="col-md-4">
<a href="{% url 'loadFTPHome' %}" title="{% trans 'FTP Functions' %}" class="tile-box tile-box-shortcut btn-primary">
<div class="col-md-4">
<a href="{% url 'loadFTPHome' %}" title="{% trans 'FTP Functions' %}"
class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "FTP" %}
</div>
@@ -90,8 +95,9 @@
</a>
</div>
<div class="col-md-4">
<a href="{% url 'loadBackupHome' %}" title="{% trans 'Back up' %}" class="tile-box tile-box-shortcut btn-primary">
<div class="col-md-4">
<a href="{% url 'loadBackupHome' %}" title="{% trans 'Back up' %}"
class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "Back up" %}
</div>
@@ -99,171 +105,175 @@
<i class="fa fa-clone"></i>
</div>
</a>
</div>
</div>
<div class="col-md-4">
<a href="{% url 'loadEmailHome' %}" title="{% trans 'Emails' %}" class="tile-box tile-box-shortcut btn-primary">
<div class="col-md-4">
<a href="{% url 'loadEmailHome' %}" title="{% trans 'Emails' %}"
class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "Emails" %}
</div>
<div class="tile-content-wrapper">
<i class="fa fa-envelope"></i>
</div>
</a>
</div>
<div class="col-md-4">
<a href="{% url 'loadSSLHome' %}" title="{% trans 'SSL' %}"
class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "SSL" %}
</div>
<div class="tile-content-wrapper">
<i class="fa fa-expeditedssl"></i>
</div>
</a>
</div>
{% if admin %}
<div class="col-md-4">
<a href="{% url 'serverStatusHome' %}" title="{% trans 'Server Status' %}"
class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "Emails" %}
{% trans "Status" %}
</div>
<div class="tile-content-wrapper">
<i class="fa fa-envelope"></i>
<i class="fa fa-server"></i>
</div>
</a>
</div>
</div>
<div class="col-md-4">
<a href="{% url 'loadSSLHome' %}" title="{% trans 'SSL' %}" class="tile-box tile-box-shortcut btn-primary">
<div class="col-md-4">
<a href="{% url 'loadPHPHome' %}" title="{% trans 'PHP Configurations' %}"
class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "SSL" %}
{% trans "PHP" %}
</div>
<div class="tile-content-wrapper">
<i class="fa fa-expeditedssl"></i>
<i class="fa fa-code"></i>
</div>
</a>
</div>
</div>
{% if admin %}
<div class="col-md-4">
<a href="{% url 'logsHome' %}" title="{% trans 'Logs' %}"
class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "Logs" %}
</div>
<div class="tile-content-wrapper">
<i class="fa fa-file"></i>
</div>
</a>
</div>
<div class="col-md-4">
<a href="{% url 'serverStatusHome' %}" title="{% trans 'Server Status' %}" class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "Status" %}
</div>
<div class="tile-content-wrapper">
<i class="fa fa-server"></i>
</div>
</a>
</div>
<div class="col-md-4">
<a href="{% url 'securityHome' %}" title="{% trans 'Security' %}"
class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "Security" %}
</div>
<div class="tile-content-wrapper">
<i class="fa fa-shield"></i>
</div>
</a>
</div>
<div class="col-md-4">
<a href="{% url 'loadPHPHome' %}" title="{% trans 'PHP Configurations' %}" class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "PHP" %}
</div>
<div class="tile-content-wrapper">
<i class="fa fa-code"></i>
</div>
</a>
</div>
<div class="col-md-4">
<a href="{% url 'logsHome' %}" title="{% trans 'Logs' %}" class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "Logs" %}
</div>
<div class="tile-content-wrapper">
<i class="fa fa-file"></i>
</div>
</a>
</div>
<div class="col-md-4">
<a href="{% url 'securityHome' %}" title="{% trans 'Security' %}" class="tile-box tile-box-shortcut btn-primary">
<div class="tile-header">
{% trans "Security" %}
</div>
<div class="tile-content-wrapper">
<i class="fa fa-shield"></i>
</div>
</a>
</div>
{% endif %}
{% endif %}
</div>
</div>
</div>
</div>
</div>
</div>
{% if admin %}
<div ng-controller="homePageStatus" class="">
<div class="mx-10 col-md-2 panel panel-body col-md-pull-50">
<h3 class="content-box-header">
{% trans "Resources" %}
</h3>
<div class="example-box-wrapper">
<div class="row mx-5">
<div class="">
<div class="mb-10">
<h3 class="title-hero clearfix text-center text-muted">
{% trans "CPU Usage" %}
</h3>
<div class="content-box-wrapper">
<div class="row flex">
<div class="align-center">
<div id="redcircle" class="c100 red cpu">
<span>{$ cpuUsage $}%</span>
<div class="slice">
<div class="bar"></div>
<div class="fill"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class="mb-10">
<h3 class="title-hero clearfix text-center text-muted">
{% trans "Ram Usage" %}
</h3>
<div class="content-box-wrapper">
<div class="row flex">
<div class="align-center">
<div id="greencircle" class="c100 p0 green ram">
<span>{$ ramUsage $}%</span>
<div class="slice">
<div class="bar"></div>
<div class="fill"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class="mb-10">
<h3 class="title-hero clearfix text-center text-muted">
{% trans "Disk Usage '/'" %}
</h3>
<div class="content-box-wrapper">
<div class="row flex">
<div class="align-center">
<div id="pinkcircle" class="c100 pink disk">
<span>{$ diskUsage $}%</span>
<div class="slice">
<div class="bar"></div>
<div class="fill"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% if admin %}
<div ng-controller="homePageStatus" class="">
<div class="mx-10 col-md-2 panel panel-body col-md-pull-50">
<h3 class="content-box-header">
{% trans "Resources" %}
</h3>
<div class="example-box-wrapper">
<div class="row mx-5">
<div class="">
<div class="mb-10">
<h3 class="title-hero clearfix text-center text-muted">
{% trans "CPU Usage" %}
</h3>
<div class="content-box-wrapper">
<div class="row flex">
<div class="align-center">
<div id="redcircle" class="c100 red cpu">
<span>{$ cpuUsage $}%</span>
<div class="slice">
<div class="bar"></div>
<div class="fill"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class="mb-10">
<h3 class="title-hero clearfix text-center text-muted">
{% trans "Ram Usage" %}
</h3>
<div class="content-box-wrapper">
<div class="row flex">
<div class="align-center">
<div id="greencircle" class="c100 p0 green ram">
<span>{$ ramUsage $}%</span>
<div class="slice">
<div class="bar"></div>
<div class="fill"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="">
<div class="mb-10">
<h3 class="title-hero clearfix text-center text-muted">
{% trans "Disk Usage '/'" %}
</h3>
<div class="content-box-wrapper">
<div class="row flex">
<div class="align-center">
<div id="pinkcircle" class="c100 pink disk">
<span>{$ diskUsage $}%</span>
<div class="slice">
<div class="bar"></div>
<div class="fill"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
{% endif %}
</div>
{% endif %}
</div>
{% endblock %}

File diff suppressed because it is too large Load Diff

View File

@@ -88,38 +88,26 @@ def getLoadAverage(request):
@ensure_csrf_cookie
def versionManagment(request):
try:
userID = request.session['userID']
currentACL = ACLManager.loadedACL(userID)
## Get latest version
if currentACL['admin'] == 1:
pass
elif currentACL['versionManagement'] == 1:
pass
else:
return ACLManager.loadError()
getVersion = requests.get('https://cyberpanel.net/version.txt')
## Get latest version
latest = getVersion.json()
getVersion = requests.get('https://cyberpanel.net/version.txt')
latestVersion = latest['version']
latestBuild = latest['build']
latest = getVersion.json()
## Get local version
latestVersion = latest['version']
latestBuild = latest['build']
currentVersion = VERSION
currentBuild = str(BUILD)
## Get local version
template = 'baseTemplate/versionManagment.html'
finalData = {'build': currentBuild, 'currentVersion': currentVersion, 'latestVersion': latestVersion,
'latestBuild': latestBuild}
currentVersion = VERSION
currentBuild = str(BUILD)
return render(request, 'baseTemplate/versionManagment.html', {'build': currentBuild,
'currentVersion': currentVersion,
'latestVersion': latestVersion,
'latestBuild': latestBuild})
except KeyError:
return redirect(loadLoginPage)
proc = httpProc(request, template, finalData, 'versionManagement')
return proc.render()
def upgrade(request):
try: