mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-06 21:35:55 +01:00
centralize acl control
This commit is contained in:
@@ -10,7 +10,7 @@ from django.shortcuts import HttpResponse
|
||||
from math import ceil
|
||||
from websiteFunctions.models import Websites
|
||||
from CLManager.models import CLPackages
|
||||
|
||||
from plogical.httpProc import httpProc
|
||||
|
||||
class CLManagerMain(multi.Thread):
|
||||
|
||||
@@ -27,29 +27,14 @@ class CLManagerMain(multi.Thread):
|
||||
self.submitCageFSInstall()
|
||||
elif self.function == 'enableOrDisable':
|
||||
self.enableOrDisable()
|
||||
|
||||
except BaseException as msg:
|
||||
logging.CyberCPLogFileWriter.writeToFile(str(msg) + ' [ContainerManager.run]')
|
||||
|
||||
def renderC(self):
|
||||
|
||||
userID = self.request.session['userID']
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
|
||||
if currentACL['admin'] == 1:
|
||||
pass
|
||||
else:
|
||||
return ACLManager.loadError()
|
||||
|
||||
ipFile = "/etc/cyberpanel/machineIP"
|
||||
f = open(ipFile)
|
||||
ipData = f.read()
|
||||
ipAddress = ipData.split('\n', 1)[0]
|
||||
|
||||
data = {}
|
||||
data['CL'] = 0
|
||||
data['activatedPath'] = 0
|
||||
data['ipAddress'] = ipAddress
|
||||
CLPath = '/etc/sysconfig/cloudlinux'
|
||||
activatedPath = '/home/cyberpanel/cloudlinux'
|
||||
|
||||
@@ -60,11 +45,14 @@ class CLManagerMain(multi.Thread):
|
||||
data['activatedPath'] = 1
|
||||
|
||||
if data['CL'] == 0:
|
||||
return render(self.request, 'CLManager/notAvailable.html', data)
|
||||
proc = httpProc(self.request, 'CLManager/notAvailable.html', data, 'admin')
|
||||
return proc.render()
|
||||
elif data['activatedPath'] == 0:
|
||||
return render(self.request, 'CLManager/notAvailable.html', data)
|
||||
proc = httpProc(self.request, 'CLManager/notAvailable.html', data, 'admin')
|
||||
return proc.render()
|
||||
else:
|
||||
return render(self.request, 'CLManager/cloudLinux.html', data)
|
||||
proc = httpProc(self.request, 'CLManager/cloudLinux.html', data, 'admin')
|
||||
return proc.render()
|
||||
|
||||
def submitCageFSInstall(self):
|
||||
try:
|
||||
|
||||
42
baseTemplate/templates/baseTemplate/error.html
Executable file
42
baseTemplate/templates/baseTemplate/error.html
Executable 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 %}
|
||||
@@ -4,18 +4,17 @@
|
||||
{% 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">
|
||||
<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>
|
||||
|
||||
|
||||
<!--- 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">
|
||||
@@ -25,7 +24,8 @@
|
||||
<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">
|
||||
<a href="{% url 'loadUsersHome' %}" title="{% trans 'User Functions' %}"
|
||||
class="tile-box tile-box-shortcut btn-primary">
|
||||
<div class="tile-header">
|
||||
{% trans "Users" %}
|
||||
</div>
|
||||
@@ -36,7 +36,8 @@
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="{% url 'loadWebsitesHome' %}" title="{% trans 'Website Functions' %}" class="tile-box tile-box-shortcut btn-primary">
|
||||
<a href="{% url 'loadWebsitesHome' %}" title="{% trans 'Website Functions' %}"
|
||||
class="tile-box tile-box-shortcut btn-primary">
|
||||
<div class="tile-header">
|
||||
{% trans "Websites" %}
|
||||
</div>
|
||||
@@ -47,7 +48,8 @@
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="{% url 'packagesHome' %}" title="{% trans 'Add/Modify Packages' %}" class="tile-box tile-box-shortcut btn-primary">
|
||||
<a href="{% url 'packagesHome' %}" title="{% trans 'Add/Modify Packages' %}"
|
||||
class="tile-box tile-box-shortcut btn-primary">
|
||||
<div class="tile-header">
|
||||
{% trans "Packages" %}
|
||||
</div>
|
||||
@@ -58,7 +60,8 @@
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="{% url 'loadDatabaseHome' %}" title="{% trans 'Database Functions' %}" class="tile-box tile-box-shortcut btn-primary">
|
||||
<a href="{% url 'loadDatabaseHome' %}" title="{% trans 'Database Functions' %}"
|
||||
class="tile-box tile-box-shortcut btn-primary">
|
||||
<div class="tile-header">
|
||||
{% trans "Databases" %}
|
||||
</div>
|
||||
@@ -69,7 +72,8 @@
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="{% url 'dnsHome' %}" title="{% trans 'Control DNS' %}" class="tile-box tile-box-shortcut btn-primary">
|
||||
<a href="{% url 'dnsHome' %}" title="{% trans 'Control DNS' %}"
|
||||
class="tile-box tile-box-shortcut btn-primary">
|
||||
<div class="tile-header">
|
||||
{% trans "DNS" %}
|
||||
</div>
|
||||
@@ -80,7 +84,8 @@
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="{% url 'loadFTPHome' %}" title="{% trans 'FTP Functions' %}" class="tile-box tile-box-shortcut btn-primary">
|
||||
<a href="{% url 'loadFTPHome' %}" title="{% trans 'FTP Functions' %}"
|
||||
class="tile-box tile-box-shortcut btn-primary">
|
||||
<div class="tile-header">
|
||||
{% trans "FTP" %}
|
||||
</div>
|
||||
@@ -91,7 +96,8 @@
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="{% url 'loadBackupHome' %}" title="{% trans 'Back up' %}" class="tile-box tile-box-shortcut btn-primary">
|
||||
<a href="{% url 'loadBackupHome' %}" title="{% trans 'Back up' %}"
|
||||
class="tile-box tile-box-shortcut btn-primary">
|
||||
<div class="tile-header">
|
||||
{% trans "Back up" %}
|
||||
</div>
|
||||
@@ -102,7 +108,8 @@
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="{% url 'loadEmailHome' %}" title="{% trans 'Emails' %}" class="tile-box tile-box-shortcut btn-primary">
|
||||
<a href="{% url 'loadEmailHome' %}" title="{% trans 'Emails' %}"
|
||||
class="tile-box tile-box-shortcut btn-primary">
|
||||
<div class="tile-header">
|
||||
{% trans "Emails" %}
|
||||
</div>
|
||||
@@ -113,7 +120,8 @@
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="{% url 'loadSSLHome' %}" title="{% trans 'SSL' %}" class="tile-box tile-box-shortcut btn-primary">
|
||||
<a href="{% url 'loadSSLHome' %}" title="{% trans 'SSL' %}"
|
||||
class="tile-box tile-box-shortcut btn-primary">
|
||||
<div class="tile-header">
|
||||
{% trans "SSL" %}
|
||||
</div>
|
||||
@@ -126,7 +134,8 @@
|
||||
{% if admin %}
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="{% url 'serverStatusHome' %}" title="{% trans 'Server Status' %}" class="tile-box tile-box-shortcut btn-primary">
|
||||
<a href="{% url 'serverStatusHome' %}" title="{% trans 'Server Status' %}"
|
||||
class="tile-box tile-box-shortcut btn-primary">
|
||||
<div class="tile-header">
|
||||
{% trans "Status" %}
|
||||
</div>
|
||||
@@ -137,7 +146,8 @@
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="{% url 'loadPHPHome' %}" title="{% trans 'PHP Configurations' %}" class="tile-box tile-box-shortcut btn-primary">
|
||||
<a href="{% url 'loadPHPHome' %}" title="{% trans 'PHP Configurations' %}"
|
||||
class="tile-box tile-box-shortcut btn-primary">
|
||||
<div class="tile-header">
|
||||
{% trans "PHP" %}
|
||||
</div>
|
||||
@@ -148,7 +158,8 @@
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="{% url 'logsHome' %}" title="{% trans 'Logs' %}" class="tile-box tile-box-shortcut btn-primary">
|
||||
<a href="{% url 'logsHome' %}" title="{% trans 'Logs' %}"
|
||||
class="tile-box tile-box-shortcut btn-primary">
|
||||
<div class="tile-header">
|
||||
{% trans "Logs" %}
|
||||
</div>
|
||||
@@ -159,7 +170,8 @@
|
||||
</div>
|
||||
|
||||
<div class="col-md-4">
|
||||
<a href="{% url 'securityHome' %}" title="{% trans 'Security' %}" class="tile-box tile-box-shortcut btn-primary">
|
||||
<a href="{% url 'securityHome' %}" title="{% trans 'Security' %}"
|
||||
class="tile-box tile-box-shortcut btn-primary">
|
||||
<div class="tile-header">
|
||||
{% trans "Security" %}
|
||||
</div>
|
||||
@@ -261,9 +273,7 @@
|
||||
{% endif %}
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
@@ -344,19 +344,21 @@
|
||||
<i class="glyph-icon icon-dashboard"></i>
|
||||
<span>{% trans "Dashboard" %}</span>
|
||||
</a>
|
||||
<a class="versionManagement" href="{% url 'versionManagment' %}"
|
||||
{% if admin or versionManagement %}
|
||||
<a href="{% url 'versionManagment' %}"
|
||||
title="{% trans 'Version Management' %}">
|
||||
<i class="glyph-icon tooltip-button icon-info"
|
||||
title="{% trans 'Version Management' %}" data-original-title=".icon-cloud-upload"
|
||||
aria-describedby="tooltip896208"></i>
|
||||
<span>{% trans "Version Management" %}</span>
|
||||
</a>
|
||||
<a class="versionManagement" href="https://platform.cyberpanel.net"
|
||||
<a href="https://cloudcyberpanel.net/?utm_source=cyberpanel&utm_medium=cyberpanel&utm_campaign=cyberpanel_self_host"
|
||||
title="{% trans 'Connect' %}">
|
||||
<i class="glyph-icon tooltip-button icon-link" title="{% trans 'Connect' %}"
|
||||
data-original-title=".icon-cloud-upload" aria-describedby="tooltip896208"></i>
|
||||
<span>{% trans "Connect" %}</span>
|
||||
</a>
|
||||
{% endif %}
|
||||
</li>
|
||||
<li class="divider"></li>
|
||||
<li class="header"><span>{% trans "Main" %}</span></li>
|
||||
@@ -392,18 +394,20 @@
|
||||
title="{% trans 'Reseller Center' %}"><span>{% trans "Reseller Center" %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li class="serverACL"><a href="{% url 'createNewACL' %}"
|
||||
{% if admin %}
|
||||
<li><a href="{% url 'createNewACL' %}"
|
||||
title="{% trans 'Create New ACL' %}"><span>{% trans "Create New ACL" %}</span></a>
|
||||
</li>
|
||||
<li class="serverACL"><a href="{% url 'deleteACL' %}"
|
||||
<li><a href="{% url 'deleteACL' %}"
|
||||
title="{% trans 'Delete ACL' %}"><span>{% trans "Delete ACL" %}</span></a>
|
||||
</li>
|
||||
<li class="serverACL"><a href="{% url 'modifyACL' %}"
|
||||
<li><a href="{% url 'modifyACL' %}"
|
||||
title="{% trans 'Modify ACL' %}"><span>{% trans "Modify ACL" %}</span></a>
|
||||
</li>
|
||||
<li class="serverACL"><a href="{% url 'apiAccess' %}"
|
||||
<li><a href="{% url 'apiAccess' %}"
|
||||
title="{% trans 'API Access' %}"><span>{% trans "API Access" %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
</div><!-- .sidebar-submenu -->
|
||||
@@ -417,24 +421,32 @@
|
||||
<div class="sidebar-submenu">
|
||||
|
||||
<ul>
|
||||
<li class="createWebsite"><a href="{% url 'createWebsite' %}"
|
||||
{% if admin or createWebsite %}
|
||||
<li><a href="{% url 'createWebsite' %}"
|
||||
title="{% trans 'Create Website' %}"><span>{% trans "Create Website" %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
<li><a href="{% url 'listWebsites' %}"
|
||||
title="{% trans 'List Websites' %}"><span>{% trans "List Websites" %}</span></a>
|
||||
</li>
|
||||
<li><a href="{% url 'listChildDomains' %}"
|
||||
title="{% trans 'List Child Domains' %}"><span>{% trans "List Child Domains" %}</span></a>
|
||||
</li>
|
||||
<li class="modifyWebsite"><a href="{% url 'modifyWebsite' %}"
|
||||
{% if admin or modifyWebsite %}
|
||||
<li><a href="{% url 'modifyWebsite' %}"
|
||||
title="{% trans 'Modify Website' %}"><span>{% trans "Modify Website" %}</span></a>
|
||||
</li>
|
||||
<li class="suspendWebsite"><a href="{% url 'siteState' %}"
|
||||
{% endif %}
|
||||
{% if admin or suspendWebsite %}
|
||||
<li><a href="{% url 'siteState' %}"
|
||||
title="{% trans 'Suspend/Unsuspend' %}"><span>{% trans "Suspend/Unsuspend" %}</span></a>
|
||||
</li>
|
||||
<li class="deleteWebsite"><a href="{% url 'deleteWebsite' %}"
|
||||
{% endif %}
|
||||
{% if admin or deleteWebsite %}
|
||||
<li><a href="{% url 'deleteWebsite' %}"
|
||||
title="{% trans 'Delete Website' %}"><span>{% trans "Delete Website" %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
</div><!-- .sidebar-submenu -->
|
||||
@@ -447,23 +459,30 @@
|
||||
<div id="packageSub" class="sidebar-submenu">
|
||||
|
||||
<ul>
|
||||
<li class="createPackage"><a href="{% url 'createPackage' %}"
|
||||
{% if admin or createPackage %}
|
||||
<li><a href="{% url 'createPackage' %}"
|
||||
title="{% trans 'Create Package' %}"><span>{% trans "Create Package" %}</span></a>
|
||||
</li>
|
||||
<li class="listPackages"><a href="{% url 'listPackages' %}"
|
||||
{% endif %}
|
||||
{% if admin or listPackages %}
|
||||
<li><a href="{% url 'listPackages' %}"
|
||||
title="{% trans 'List Packages' %}"><span>{% trans "List Packages" %}</span></a>
|
||||
</li>
|
||||
<li class="deletePackage"><a href="{% url 'deletePackage' %}"
|
||||
{% endif %}
|
||||
{% if admin or deletePackage %}
|
||||
<li><a href="{% url 'deletePackage' %}"
|
||||
title="{% trans 'Delete Package' %}"><span>{% trans "Delete Package" %}</span></a>
|
||||
</li>
|
||||
<li class="modifyPackage"><a href="{% url 'modifyPackage' %}"
|
||||
{% endif %}
|
||||
{% if admin or modifyPackage %}
|
||||
<li><a href="{% url 'modifyPackage' %}"
|
||||
title="{% trans 'Modify Package' %}"><span>{% trans "Modify Package" %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
</div><!-- .sidebar-submenu -->
|
||||
</li>
|
||||
|
||||
<li>
|
||||
<a title="{% trans 'Databases' %}">
|
||||
<i class="glyph-icon icon-database" title="{% trans 'Databases' %}"></i>
|
||||
@@ -472,19 +491,26 @@
|
||||
<div class="sidebar-submenu">
|
||||
|
||||
<ul>
|
||||
<li class="createDatabase"><a href="{% url 'createDatabase' %}"
|
||||
{% if admin or createDatabase %}
|
||||
<li><a href="{% url 'createDatabase' %}"
|
||||
title="{% trans 'Create Database' %}"><span>{% trans "Create Database" %}</span></a>
|
||||
</li>
|
||||
<li class="deleteDatabase"><a href="{% url 'deleteDatabase' %}"
|
||||
{% endif %}
|
||||
{% if admin or deleteDatabase %}
|
||||
<li><a href="{% url 'deleteDatabase' %}"
|
||||
title="{% trans 'Delete Database' %}"><span>{% trans "Delete Database" %}</span></a>
|
||||
</li>
|
||||
<li class="listDatabases"><a href="{% url 'listDBs' %}"
|
||||
{% endif %}
|
||||
{% if admin or listDatabases %}
|
||||
<li><a href="{% url 'listDBs' %}"
|
||||
title="{% trans 'List Databases' %}"><span>{% trans "List Databases" %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if admin or createDatabase %}
|
||||
<li><a href="{% url 'phpMyAdmin' %}"
|
||||
title="{% trans 'PHPMYAdmin' %}"><span>{% trans "PHPMYAdmin" %}</span></a>
|
||||
</li>
|
||||
<!----<li><a href="{% url 'modifyPackage' %}" title="Change Password"><span>Change Password</span></a></li>--->
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
</div><!-- .sidebar-submenu -->
|
||||
@@ -498,24 +524,36 @@
|
||||
<div class="sidebar-submenu">
|
||||
|
||||
<ul>
|
||||
<li class="createNameServer"><a href="{% url 'createNameserver' %}"
|
||||
{% if admin or createNameServer %}
|
||||
<li><a href="{% url 'createNameserver' %}"
|
||||
title="{% trans 'Create Nameserver' %}"><span>{% trans "Create Nameserver" %}</span></a>
|
||||
</li>
|
||||
<li class="serverACL"><a href="{% url 'configureDefaultNameServers' %}"
|
||||
{% endif %}
|
||||
{% if admin %}
|
||||
<li><a href="{% url 'configureDefaultNameServers' %}"
|
||||
title="{% trans 'Configure Default Nameservers' %}"><span>{% trans "Config Default Nameservers" %}</span></a>
|
||||
</li>
|
||||
<li class="createDNSZone"><a href="{% url 'createDNSZone' %}"
|
||||
{% endif %}
|
||||
{% if admin or createDNSZone %}
|
||||
<li><a href="{% url 'createDNSZone' %}"
|
||||
title="{% trans 'Create DNS Zone' %}"><span>{% trans "Create DNS Zone" %}</span></a>
|
||||
</li>
|
||||
<li class="deleteZone"><a href="{% url 'deleteDNSZone' %}"
|
||||
{% endif %}
|
||||
{% if admin or deleteZone %}
|
||||
<li><a href="{% url 'deleteDNSZone' %}"
|
||||
title="{% trans 'Delete Zone' %}"><span>{% trans "Delete Zone" %}</span></a>
|
||||
</li>
|
||||
<li class="addDeleteRecords"><a href="{% url 'addDeleteDNSRecords' %}"
|
||||
{% endif %}
|
||||
{% if admin or addDeleteRecords %}
|
||||
<li><a href="{% url 'addDeleteDNSRecords' %}"
|
||||
title="{% trans 'Add/Delete Records' %}"><span>{% trans "Add/Delete Records" %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if admin or addDeleteRecords %}
|
||||
<li class="addDeleteRecords"><a href="{% url 'addDeleteDNSRecordsCloudFlare' %}"
|
||||
title="{% trans 'CloudFlare' %}"><span>{% trans "CloudFlare" %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
</div><!-- .sidebar-submenu -->
|
||||
@@ -529,49 +567,69 @@
|
||||
<div class="sidebar-submenu">
|
||||
|
||||
<ul>
|
||||
<li class="createEmail"><a href="{% url 'createEmailAccount' %}"
|
||||
{% if admin or createEmail %}
|
||||
<li><a href="{% url 'createEmailAccount' %}"
|
||||
title="{% trans 'Create Email Account' %}"><span>{% trans "Create Email" %}</span></a>
|
||||
</li>
|
||||
<li class="listEmails"><a href="{% url 'listEmails' %}"
|
||||
{% endif %}
|
||||
{% if admin or listEmails %}
|
||||
<li><a href="{% url 'listEmails' %}"
|
||||
title="{% trans 'List Emails' %}"><span>{% trans "List Emails" %}</span></a>
|
||||
</li>
|
||||
<li class="deleteEmail"><a href="{% url 'deleteEmailAccount' %}"
|
||||
{% endif %}
|
||||
{% if admin or deleteEmail %}
|
||||
<li><a href="{% url 'deleteEmailAccount' %}"
|
||||
title="{% trans 'Delete Email Account' %}"><span>{% trans "Delete Email" %}</span></a>
|
||||
</li>
|
||||
<li class="emailForwarding"><a href="{% url 'emailForwarding' %}"
|
||||
{% endif %}
|
||||
{% if admin or emailForwarding %}
|
||||
<li><a href="{% url 'emailForwarding' %}"
|
||||
title="{% trans 'Email Forwarding' %}"><span>{% trans "Email Forwarding" %}</span></a>
|
||||
</li>
|
||||
<li class="changeEmailPassword"><a href="{% url 'changeEmailAccountPassword' %}"
|
||||
{% endif %}
|
||||
{% if admin or changeEmailPassword %}
|
||||
<li><a href="{% url 'changeEmailAccountPassword' %}"
|
||||
title="{% trans 'Change Password' %}"><span>{% trans "Change Password" %}</span></a>
|
||||
</li>
|
||||
<li class="dkimManager"><a href="{% url 'dkimManager' %}"
|
||||
{% endif %}
|
||||
{% if admin or dkimManager %}
|
||||
<li><a href="{% url 'dkimManager' %}"
|
||||
title="{% trans 'DKIM Manager' %}"><span>{% trans "DKIM Manager" %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if admin or createEmail %}
|
||||
<li><a href="/rainloop/index.php" title="{% trans 'Access Webmail' %}"
|
||||
target="_blank"><span>{% trans "Access Webmail" %}</span></a></li>
|
||||
|
||||
target="_blank"><span>{% trans "Access Webmail" %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
</div><!-- .sidebar-submenu -->
|
||||
</li>
|
||||
|
||||
<li class="ftpAsWhole">
|
||||
<a href="{% url 'packagesHome' %}" title="{% trans 'FTP' %}">
|
||||
<a href="{% url 'ftpHome' %}" title="{% trans 'FTP' %}">
|
||||
<i class="glyph-icon icon-cloud-upload"></i>
|
||||
<span>{% trans "FTP" %}</span>
|
||||
</a>
|
||||
<div class="sidebar-submenu">
|
||||
|
||||
<ul>
|
||||
<li class="createFTPAccount"><a href="{% url 'createFTPAccount' %}"
|
||||
{% if admin or createFTPAccount %}
|
||||
<li><a href="{% url 'createFTPAccount' %}"
|
||||
title="{% trans 'Create FTP Account' %}"><span>{% trans "Create FTP Account" %}</span></a>
|
||||
</li>
|
||||
<li class="deleteFTPAccount"><a href="{% url 'deleteFTPAccount' %}"
|
||||
{% endif %}
|
||||
{% if admin or deleteFTPAccount %}
|
||||
<li><a href="{% url 'deleteFTPAccount' %}"
|
||||
title="{% trans 'Delete FTP Account' %}"><span>{% trans "Delete FTP Account" %}</span></a>
|
||||
</li>
|
||||
<li class="listFTPAccounts"><a href="{% url 'listFTPAccounts' %}"
|
||||
{% endif %}
|
||||
{% if admin or listFTPAccounts %}
|
||||
<li><a href="{% url 'listFTPAccounts' %}"
|
||||
title="{% trans 'List FTP Accounts' %}"><span>{% trans "List FTP Accounts" %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
</div><!-- .sidebar-submenu -->
|
||||
@@ -585,24 +643,36 @@
|
||||
<div class="sidebar-submenu">
|
||||
|
||||
<ul>
|
||||
<li class="createBackup"><a href="{% url 'backupSite' %}"
|
||||
{% if admin or createBackup %}
|
||||
<li><a href="{% url 'backupSite' %}"
|
||||
title="{% trans 'Create Back up' %}"><span>{% trans "Create Back up" %}</span></a>
|
||||
</li>
|
||||
<li class="restoreBackup"><a href="{% url 'restoreSite' %}"
|
||||
{% endif %}
|
||||
{% if admin or restoreBackup %}
|
||||
<li><a href="{% url 'restoreSite' %}"
|
||||
title="{% trans 'Restore Back up' %}"><span>{% trans "Restore Back up" %}</span></a>
|
||||
</li>
|
||||
<li class="addDeleteDestinations"><a href="{% url 'backupDestinations' %}"
|
||||
{% endif %}
|
||||
{% if admin or addDeleteDestinations %}
|
||||
<li><a href="{% url 'backupDestinations' %}"
|
||||
title="{% trans 'Add Destination' %}"><span>{% trans "Add/Delete Destination" %}</span></a>
|
||||
</li>
|
||||
<li class="scheDuleBackups"><a href="{% url 'scheduleBackup' %}"
|
||||
{% endif %}
|
||||
{% if admin or scheDuleBackups %}
|
||||
<li><a href="{% url 'scheduleBackup' %}"
|
||||
title="{% trans 'Schedule Back up' %}"><span>{% trans "Schedule Back up" %}</span></a>
|
||||
</li>
|
||||
<li class="createBackup"><a href="{% url 'gDrive' %}"
|
||||
{% endif %}
|
||||
{% if admin or googleDriveBackups %}
|
||||
<li><a href="{% url 'gDrive' %}"
|
||||
title="{% trans 'Setup Google Drive' %}"><span>{% trans "Setup Google Drive" %}</span></a>
|
||||
</li>
|
||||
<li class="remoteBackups"><a href="{% url 'remoteBackups' %}"
|
||||
{% endif %}
|
||||
{% if admin or remoteBackups %}
|
||||
<li><a href="{% url 'remoteBackups' %}"
|
||||
title="{% trans 'Remote Back ups' %}"><span>{% trans "Remote Back ups" %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
</div><!-- .sidebar-submenu -->
|
||||
@@ -617,18 +687,26 @@
|
||||
<div class="sidebar-submenu">
|
||||
|
||||
<ul>
|
||||
<li class="createBackup"><a href="{% url 'createBackupInc' %}"
|
||||
{% if admin or createBackup %}
|
||||
<li><a href="{% url 'createBackupInc' %}"
|
||||
title="{% trans 'Create Back up' %}"><span>{% trans "Create/Restore Back up" %}</span></a>
|
||||
</li>
|
||||
<li class="restoreBackup"><a href="{% url 'backupDestinationsInc' %}"
|
||||
{% endif %}
|
||||
{% if admin or restoreBackup %}
|
||||
<li><a href="{% url 'backupDestinationsInc' %}"
|
||||
title="{% trans 'Restore Back up' %}"><span>{% trans "Add/Remove Destinations" %}</span></a>
|
||||
</li>
|
||||
<li class="restoreBackup"><a href="{% url 'scheduleBackupsInc' %}"
|
||||
{% endif %}
|
||||
{% if admin or restoreBackup %}
|
||||
<li><a href="{% url 'scheduleBackupsInc' %}"
|
||||
title="{% trans 'Schedule Back ups' %}"><span>{% trans "Schedule Back ups" %}</span></a>
|
||||
</li>
|
||||
<li class="remoteBackups"><a href="{% url 'restoreRemoteBackupsInc' %}"
|
||||
{% endif %}
|
||||
{% if admin or remoteBackups %}
|
||||
<li><a href="{% url 'restoreRemoteBackupsInc' %}"
|
||||
title="{% trans 'Restore from Remote Server' %}"><span>{% trans "Restore from Remote" %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
</div><!-- .sidebar-submenu -->
|
||||
@@ -643,24 +721,31 @@
|
||||
<div class="sidebar-submenu">
|
||||
|
||||
<ul>
|
||||
{% if admin or manageSSL %}
|
||||
<li class="manageSSL"><a href="{% url 'manageSSL' %}"
|
||||
title="{% trans 'Manage SSL' %}"><span>{% trans "Manage SSL" %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if admin or hostnameSSL %}
|
||||
<li class="hostnameSSL"><a href="{% url 'sslForHostName' %}"
|
||||
title="{% trans 'Hostname SSL' %}"><span>{% trans "Hostname SSL" %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if admin or mailServerSSL %}
|
||||
<li class="mailServerSSL"><a href="{% url 'sslForMailServer' %}"
|
||||
title="{% trans 'MailServer SSL' %}"><span>{% trans "MailServer SSL" %}</span></a>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
|
||||
</div><!-- .sidebar-submenu -->
|
||||
</li>
|
||||
|
||||
<li class="header serverACL"><span>{% trans "Server" %}</span></li>
|
||||
{% if admin %}
|
||||
|
||||
<li class="header"><span>{% trans "Server" %}</span></li>
|
||||
|
||||
<li class="serverACL">
|
||||
<li>
|
||||
<a href="#" title="{% trans 'Terminal' %}">
|
||||
<i class="glyph-icon icon-linecons-fire"></i>
|
||||
<span>{% trans "Web Terminal" %}</span>
|
||||
@@ -676,7 +761,7 @@
|
||||
</div><!-- .sidebar-submenu -->
|
||||
</li>
|
||||
|
||||
<li class="serverACL">
|
||||
<li>
|
||||
<a href="#" title="{% trans 'CloudLinux' %}">
|
||||
<i class="glyph-icon icon-linecons-fire"></i>
|
||||
<span>{% trans "CloudLinux" %}</span>
|
||||
@@ -703,8 +788,7 @@
|
||||
</div><!-- .sidebar-submenu -->
|
||||
</li>
|
||||
|
||||
|
||||
<li class="serverACL">
|
||||
<li>
|
||||
<a href="#" title="{% trans 'Containerization' %}">
|
||||
<i class="glyph-icon icon-linecons-fire"></i>
|
||||
<span>{% trans "Containerization" %}</span>
|
||||
@@ -721,7 +805,7 @@
|
||||
</div><!-- .sidebar-submenu -->
|
||||
</li>
|
||||
|
||||
<li class="serverACL">
|
||||
<li>
|
||||
<a href="#" title="{% trans 'Docker' %}">
|
||||
<i class="glyph-icon icon-cogs"></i>
|
||||
<span>{% trans "Docker Manager" %}</span>
|
||||
@@ -744,7 +828,7 @@
|
||||
</div><!-- .sidebar-submenu -->
|
||||
</li>
|
||||
|
||||
<li class="serverACL">
|
||||
<li>
|
||||
<a href="#" title="{% trans 'Tuning' %}">
|
||||
<i class="glyph-icon icon-adjust"></i>
|
||||
<span>{% trans "Tuning" %}</span>
|
||||
@@ -763,7 +847,7 @@
|
||||
</div><!-- .sidebar-submenu -->
|
||||
</li>
|
||||
|
||||
<li class="serverACL">
|
||||
<li>
|
||||
<a href="#" title="{% trans 'Server Status' %}">
|
||||
<i class="glyph-icon icon-cog"></i>
|
||||
<span>{% trans "Server Status" %}</span>
|
||||
@@ -794,7 +878,7 @@
|
||||
</div><!-- .sidebar-submenu -->
|
||||
</li>
|
||||
|
||||
<li class="serverACL">
|
||||
<li>
|
||||
<a href="{% url 'loadPHPHome' %}" title="{% trans 'PHP' %}">
|
||||
<i class="glyph-icon icon-code"></i>
|
||||
<span>{% trans "PHP" %}</span>
|
||||
@@ -813,7 +897,7 @@
|
||||
</div><!-- .sidebar-submenu -->
|
||||
</li>
|
||||
|
||||
<li class="serverACL">
|
||||
<li>
|
||||
<a href="{% url 'logsHome' %}" title="{% trans 'Server Status' %}">
|
||||
<i class="glyph-icon icon-file"></i>
|
||||
<span>{% trans "Logs" %}</span>
|
||||
@@ -834,7 +918,8 @@
|
||||
title="{% trans 'Email Logs' %}"><span>{% trans "Email Log" %}</span></a>
|
||||
</li>
|
||||
<li><a href="{% url 'ftplogs' %}"
|
||||
title="{% trans 'FTP Logs' %}"><span>{% trans "FTP Logs" %}</span></a></li>
|
||||
title="{% trans 'FTP Logs' %}"><span>{% trans "FTP Logs" %}</span></a>
|
||||
</li>
|
||||
<li><a href="{% url 'modSecAuditLogs' %}"
|
||||
title="{% trans 'ModSecurity Audit Logs' %}"><span>{% trans "ModSec Audit Logs" %}</span></a>
|
||||
</li>
|
||||
@@ -843,7 +928,7 @@
|
||||
</div><!-- .sidebar-submenu -->
|
||||
</li>
|
||||
|
||||
<li class="serverACL">
|
||||
<li>
|
||||
<a href="{% url 'securityHome' %}" title="{% trans 'Security' %}">
|
||||
<i class="glyph-icon icon-shield"></i>
|
||||
<span>{% trans "Security" %}</span>
|
||||
@@ -883,7 +968,7 @@
|
||||
</div><!-- .sidebar-submenu -->
|
||||
</li>
|
||||
|
||||
<li class="serverACL emailAsWhole">
|
||||
<li class="emailAsWhole">
|
||||
<a href="#" title="{% trans 'Mail Settings' %}">
|
||||
<i class="glyph-icon icon-envelope"></i>
|
||||
<span>{% trans "Mail Settings" %}</span>
|
||||
@@ -915,7 +1000,7 @@
|
||||
</div><!-- .sidebar-submenu -->
|
||||
</li>
|
||||
|
||||
<li class="serverACL">
|
||||
<li>
|
||||
<a href="#" title="{% trans 'Manage Services' %}">
|
||||
<i class="glyph-icon icon-folder-open"></i>
|
||||
<span>{% trans "Manage Services" %}</span>
|
||||
@@ -940,7 +1025,7 @@
|
||||
</div><!-- .sidebar-submenu -->
|
||||
</li>
|
||||
|
||||
<li class="serverACL">
|
||||
<li>
|
||||
<a href="#" title="{% trans 'Plugins' %}">
|
||||
<i class="glyph-icon icon-plug"></i>
|
||||
<span>{% trans "Plugins" %}</span>
|
||||
@@ -957,6 +1042,8 @@
|
||||
</div><!-- .sidebar-submenu -->
|
||||
</li>
|
||||
|
||||
{% endif %}
|
||||
|
||||
</ul><!-- #sidebar-menu -->
|
||||
|
||||
</div>
|
||||
|
||||
@@ -88,17 +88,6 @@ def getLoadAverage(request):
|
||||
|
||||
@ensure_csrf_cookie
|
||||
def versionManagment(request):
|
||||
try:
|
||||
userID = request.session['userID']
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
|
||||
if currentACL['admin'] == 1:
|
||||
pass
|
||||
elif currentACL['versionManagement'] == 1:
|
||||
pass
|
||||
else:
|
||||
return ACLManager.loadError()
|
||||
|
||||
## Get latest version
|
||||
|
||||
getVersion = requests.get('https://cyberpanel.net/version.txt')
|
||||
@@ -113,13 +102,12 @@ def versionManagment(request):
|
||||
currentVersion = VERSION
|
||||
currentBuild = str(BUILD)
|
||||
|
||||
return render(request, 'baseTemplate/versionManagment.html', {'build': currentBuild,
|
||||
'currentVersion': currentVersion,
|
||||
'latestVersion': latestVersion,
|
||||
'latestBuild': latestBuild})
|
||||
template = 'baseTemplate/versionManagment.html'
|
||||
finalData = {'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:
|
||||
|
||||
@@ -5,7 +5,7 @@ from plogical.acl import ACLManager
|
||||
import plogical.CyberCPLogFileWriter as logging
|
||||
from serverStatus.serverStatusUtil import ServerStatusUtil
|
||||
import os, stat
|
||||
|
||||
from plogical.httpProc import httpProc
|
||||
|
||||
class ContainerManager(multi.Thread):
|
||||
defaultConf = """group {groupName}{
|
||||
@@ -84,14 +84,6 @@ class ContainerManager(multi.Thread):
|
||||
|
||||
def renderC(self):
|
||||
|
||||
userID = self.request.session['userID']
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
|
||||
if currentACL['admin'] == 1:
|
||||
pass
|
||||
else:
|
||||
return ACLManager.loadError()
|
||||
|
||||
data = {}
|
||||
data['OLS'] = 0
|
||||
data['notInstalled'] = 0
|
||||
@@ -99,17 +91,20 @@ class ContainerManager(multi.Thread):
|
||||
if ProcessUtilities.decideServer() == ProcessUtilities.OLS:
|
||||
data['OLS'] = 1
|
||||
data['notInstalled'] = 0
|
||||
return render(self.request, 'containerization/notAvailable.html', data)
|
||||
proc = httpProc(self.request, 'containerization/notAvailable.html', data, 'admin')
|
||||
return proc.render()
|
||||
elif not ProcessUtilities.containerCheck():
|
||||
data['OLS'] = 0
|
||||
data['notInstalled'] = 1
|
||||
return render(self.request, 'containerization/notAvailable.html', data)
|
||||
proc = httpProc(self.request, 'containerization/notAvailable.html', data, 'admin')
|
||||
return proc.render()
|
||||
else:
|
||||
if self.data == None:
|
||||
self.data = {}
|
||||
self.data['OLS'] = 0
|
||||
self.data['notInstalled'] = 0
|
||||
return render(self.request, self.templateName, self.data)
|
||||
proc = httpProc(self.request, self.templateName, data, 'admin')
|
||||
return proc.render()
|
||||
|
||||
def submitContainerInstall(self):
|
||||
try:
|
||||
@@ -165,7 +160,6 @@ class ContainerManager(multi.Thread):
|
||||
# self.data['classID']) + ' protocol ip prio 10 handle 1: cgroup'
|
||||
|
||||
command = 'sudo tc filter add dev eth0 parent 10: protocol ip prio 10 handle 1: cgroup'
|
||||
#logging.CyberCPLogFileWriter.writeToFile(command)
|
||||
ProcessUtilities.executioner(command)
|
||||
|
||||
self.restartServices()
|
||||
|
||||
@@ -5,7 +5,6 @@ import django
|
||||
sys.path.append('/usr/local/CyberCP')
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings")
|
||||
django.setup()
|
||||
from django.shortcuts import render
|
||||
from django.http import HttpResponse
|
||||
import json
|
||||
from plogical.acl import ACLManager
|
||||
@@ -16,34 +15,28 @@ from databases.models import Databases, DBMeta
|
||||
import argparse
|
||||
from loginSystem.models import Administrator
|
||||
import plogical.randomPassword as randomPassword
|
||||
from plogical.httpProc import httpProc
|
||||
|
||||
class DatabaseManager:
|
||||
|
||||
REMOTE_ACCESS = 'remote_access'
|
||||
|
||||
def loadDatabaseHome(self, request = None, userID = None):
|
||||
try:
|
||||
return render(request, 'databases/index.html')
|
||||
except BaseException as msg:
|
||||
return HttpResponse(str(msg))
|
||||
template = 'databases/index.html'
|
||||
proc = httpProc(request, template, None, 'createDatabase')
|
||||
return proc.render()
|
||||
|
||||
def phpMyAdmin(self, request = None, userID = None):
|
||||
try:
|
||||
return render(request, 'databases/phpMyAdmin.html')
|
||||
except BaseException as msg:
|
||||
return HttpResponse(str(msg))
|
||||
template = 'databases/phpMyAdmin.html'
|
||||
proc = httpProc(request, template, None, 'createDatabase')
|
||||
return proc.render()
|
||||
|
||||
def createDatabase(self, request = None, userID = None):
|
||||
try:
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
if ACLManager.currentContextPermission(currentACL, 'createDatabase') == 0:
|
||||
return ACLManager.loadError()
|
||||
|
||||
websitesName = ACLManager.findAllSites(currentACL, userID)
|
||||
|
||||
return render(request, 'databases/createDatabase.html', {'websitesList': websitesName})
|
||||
except BaseException as msg:
|
||||
return HttpResponse(str(msg))
|
||||
template = 'databases/createDatabase.html'
|
||||
proc = httpProc(request, template, {'websitesList': websitesName}, 'createDatabase')
|
||||
return proc.render()
|
||||
|
||||
def submitDBCreation(self, userID = None, data = None, rAPI = None):
|
||||
try:
|
||||
@@ -84,18 +77,11 @@ class DatabaseManager:
|
||||
return HttpResponse(json_data)
|
||||
|
||||
def deleteDatabase(self, request = None, userID = None):
|
||||
try:
|
||||
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
if ACLManager.currentContextPermission(currentACL, 'deleteDatabase') == 0:
|
||||
return ACLManager.loadError()
|
||||
|
||||
websitesName = ACLManager.findAllSites(currentACL, userID)
|
||||
|
||||
return render(request, 'databases/deleteDatabase.html', {'websitesList': websitesName})
|
||||
except BaseException as msg:
|
||||
logging.CyberCPLogFileWriter.writeToFile(str(msg))
|
||||
return HttpResponse(str(msg))
|
||||
template = 'databases/deleteDatabase.html'
|
||||
proc = httpProc(request, template, {'websitesList': websitesName}, 'deleteDatabase')
|
||||
return proc.render()
|
||||
|
||||
def fetchDatabases(self, userID = None, data = None):
|
||||
try:
|
||||
@@ -171,16 +157,11 @@ class DatabaseManager:
|
||||
return HttpResponse(json_data)
|
||||
|
||||
def listDBs(self, request = None, userID = None):
|
||||
try:
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
if ACLManager.currentContextPermission(currentACL, 'listDatabases') == 0:
|
||||
return ACLManager.loadError()
|
||||
|
||||
websitesName = ACLManager.findAllSites(currentACL, userID)
|
||||
|
||||
return render(request, 'databases/listDataBases.html', {'websiteList': websitesName})
|
||||
except BaseException as msg:
|
||||
return HttpResponse(str(msg))
|
||||
template = 'databases/listDataBases.html'
|
||||
proc = httpProc(request, template, {'websitesList': websitesName}, 'listDatabases')
|
||||
return proc.render()
|
||||
|
||||
def changePassword(self, userID = None, data = None):
|
||||
try:
|
||||
|
||||
@@ -4,10 +4,10 @@ import errno
|
||||
import os.path
|
||||
import sys
|
||||
import django
|
||||
|
||||
sys.path.append('/usr/local/CyberCP')
|
||||
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings")
|
||||
django.setup()
|
||||
from django.shortcuts import render
|
||||
from django.http import HttpResponse
|
||||
import json
|
||||
try:
|
||||
@@ -24,6 +24,7 @@ import CloudFlare
|
||||
import re
|
||||
import plogical.CyberCPLogFileWriter as logging
|
||||
from plogical.processUtilities import ProcessUtilities
|
||||
from plogical.httpProc import httpProc
|
||||
|
||||
class DNSManager:
|
||||
defaultNameServersPath = '/home/cyberpanel/defaultNameservers'
|
||||
@@ -37,29 +38,23 @@ class DNSManager:
|
||||
self.email = data[0].rstrip('\n')
|
||||
self.key = data[1].rstrip('\n')
|
||||
|
||||
|
||||
def loadDNSHome(self, request = None, userID = None):
|
||||
try:
|
||||
admin = Administrator.objects.get(pk=userID)
|
||||
return render(request, 'dns/index.html', {"type": admin.type})
|
||||
except BaseException as msg:
|
||||
return HttpResponse(str(msg))
|
||||
template = 'dns/index.html'
|
||||
proc = httpProc(request, template, {"type": admin.type}, 'createDNSZone')
|
||||
return proc.render()
|
||||
|
||||
def createNameserver(self, request = None, userID = None):
|
||||
try:
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
if ACLManager.currentContextPermission(currentACL, 'createNameServer') == 0:
|
||||
return ACLManager.loadError()
|
||||
|
||||
mailUtilities.checkHome()
|
||||
|
||||
if os.path.exists('/home/cyberpanel/powerdns'):
|
||||
return render(request, "dns/createNameServer.html", {"status": 1})
|
||||
finalData = {"status": 1}
|
||||
else:
|
||||
return render(request, "dns/createNameServer.html", {"status": 0})
|
||||
finalData = {"status": 0}
|
||||
|
||||
except BaseException as msg:
|
||||
return HttpResponse(str(msg))
|
||||
template = 'dns/createNameServer.html'
|
||||
proc = httpProc(request, template, finalData, 'createNameServer')
|
||||
return proc.render()
|
||||
|
||||
def NSCreation(self, userID = None, data = None):
|
||||
try:
|
||||
@@ -118,17 +113,13 @@ class DNSManager:
|
||||
return HttpResponse(final_json)
|
||||
|
||||
def createDNSZone(self, request = None, userID = None):
|
||||
try:
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
if ACLManager.currentContextPermission(currentACL, 'createDNSZone') == 0:
|
||||
return ACLManager.loadError()
|
||||
|
||||
if os.path.exists('/home/cyberpanel/powerdns'):
|
||||
return render(request, 'dns/createDNSZone.html', {"status": 1})
|
||||
finalData = {'status': 1}
|
||||
else:
|
||||
return render(request, 'dns/createDNSZone.html', {"status": 0})
|
||||
except BaseException as msg:
|
||||
return HttpResponse(str(msg))
|
||||
finalData = {'status': 0}
|
||||
template = 'dns/createDNSZone.html'
|
||||
proc = httpProc(request, template, finalData, 'createDNSZone')
|
||||
return proc.render()
|
||||
|
||||
def zoneCreation(self, userID = None, data = None):
|
||||
try:
|
||||
@@ -166,21 +157,16 @@ class DNSManager:
|
||||
return HttpResponse(final_json)
|
||||
|
||||
def addDeleteDNSRecords(self, request = None, userID = None):
|
||||
try:
|
||||
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
if ACLManager.currentContextPermission(currentACL, 'addDeleteRecords') == 0:
|
||||
return ACLManager.loadError()
|
||||
|
||||
if not os.path.exists('/home/cyberpanel/powerdns'):
|
||||
return render(request, 'dns/addDeleteDNSRecords.html', {"status": 0})
|
||||
finalData = {"status": 0}
|
||||
else:
|
||||
finalData = {"status": 1}
|
||||
|
||||
domainsList = ACLManager.findAllDomains(currentACL, userID)
|
||||
|
||||
return render(request, 'dns/addDeleteDNSRecords.html', {"domainsList": domainsList, "status": 1})
|
||||
|
||||
except BaseException as msg:
|
||||
return HttpResponse(str(msg))
|
||||
finalData['domainsList'] = ACLManager.findAllDomains(currentACL, userID)
|
||||
template = 'dns/addDeleteDNSRecords.html'
|
||||
proc = httpProc(request, template, finalData, 'addDeleteRecords')
|
||||
return proc.render()
|
||||
|
||||
def getCurrentRecordsForDomain(self, userID = None, data = None):
|
||||
try:
|
||||
@@ -499,22 +485,16 @@ class DNSManager:
|
||||
return HttpResponse(final_json)
|
||||
|
||||
def deleteDNSZone(self, request = None, userID = None):
|
||||
|
||||
try:
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
|
||||
if ACLManager.currentContextPermission(currentACL, 'deleteZone') == 0:
|
||||
return ACLManager.loadError()
|
||||
|
||||
if not os.path.exists('/home/cyberpanel/powerdns'):
|
||||
return render(request, 'dns/addDeleteDNSRecords.html', {"status": 0})
|
||||
finalData = {"status": 0}
|
||||
else:
|
||||
finalData = {"status": 1}
|
||||
|
||||
domainsList = ACLManager.findAllDomains(currentACL, userID)
|
||||
|
||||
return render(request, 'dns/deleteDNSZone.html', {"domainsList": domainsList, "status": 1})
|
||||
|
||||
except BaseException as msg:
|
||||
return HttpResponse(str(msg))
|
||||
finalData['domainsList'] = ACLManager.findAllDomains(currentACL, userID)
|
||||
template = 'dns/deleteDNSZone.html'
|
||||
proc = httpProc(request, template, finalData, 'deleteZone')
|
||||
return proc.render()
|
||||
|
||||
def submitZoneDeletion(self, userID = None, data = None):
|
||||
try:
|
||||
@@ -549,22 +529,14 @@ class DNSManager:
|
||||
return HttpResponse(final_json)
|
||||
|
||||
def configureDefaultNameServers(self, request=None, userID=None):
|
||||
|
||||
try:
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
|
||||
if currentACL['admin'] == 1:
|
||||
pass
|
||||
else:
|
||||
return ACLManager.loadError()
|
||||
|
||||
if not os.path.exists('/home/cyberpanel/powerdns'):
|
||||
return render(request, 'dns/addDeleteDNSRecords.html', {"status": 0})
|
||||
data = {"status": 0}
|
||||
else:
|
||||
data = {"status": 1}
|
||||
|
||||
data = {}
|
||||
data['domainsList'] = ACLManager.findAllDomains(currentACL, userID)
|
||||
data['status'] = 1
|
||||
|
||||
if os.path.exists(DNSManager.defaultNameServersPath):
|
||||
nsData = open(DNSManager.defaultNameServersPath, 'r').readlines()
|
||||
try:
|
||||
@@ -584,11 +556,9 @@ class DNSManager:
|
||||
except:
|
||||
pass
|
||||
|
||||
return render(request, 'dns/configureDefaultNameServers.html', data)
|
||||
|
||||
except BaseException as msg:
|
||||
return HttpResponse(str(msg))
|
||||
|
||||
template = 'dns/configureDefaultNameServers.html'
|
||||
proc = httpProc(request, template, data, 'admin')
|
||||
return proc.render()
|
||||
|
||||
def saveNSConfigurations(self, userID = None, data = None):
|
||||
try:
|
||||
@@ -615,7 +585,6 @@ class DNSManager:
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
writeToFile = open(DNSManager.defaultNameServersPath, 'w')
|
||||
writeToFile.write(nsContent.rstrip('\n'))
|
||||
writeToFile.close()
|
||||
@@ -631,35 +600,30 @@ class DNSManager:
|
||||
return HttpResponse(final_json)
|
||||
|
||||
def addDeleteDNSRecordsCloudFlare(self, request = None, userID = None):
|
||||
try:
|
||||
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
if ACLManager.currentContextPermission(currentACL, 'addDeleteRecords') == 0:
|
||||
return ACLManager.loadError()
|
||||
|
||||
if not os.path.exists('/home/cyberpanel/powerdns'):
|
||||
return render(request, 'dns/addDeleteDNSRecordsCloudFlare.html', {"status": 0})
|
||||
|
||||
status = 0
|
||||
else:
|
||||
status = 1
|
||||
admin = Administrator.objects.get(pk=userID)
|
||||
|
||||
CloudFlare = 0
|
||||
|
||||
cfPath = '%s%s' %(DNS.CFPath, admin.userName)
|
||||
cfPath = '%s%s' % (DNS.CFPath, admin.userName)
|
||||
|
||||
if os.path.exists(cfPath):
|
||||
CloudFlare = 1
|
||||
domainsList = ACLManager.findAllDomains(currentACL, userID)
|
||||
|
||||
self.admin = admin
|
||||
self.loadCFKeys()
|
||||
|
||||
return render(request, 'dns/addDeleteDNSRecordsCloudFlare.html',
|
||||
{"domainsList": domainsList, "status": 1, 'CloudFlare': CloudFlare, 'cfEmail': self.email, 'cfToken': self.key})
|
||||
data = {"domainsList": domainsList, "status": status, 'CloudFlare': CloudFlare, 'cfEmail': self.email,
|
||||
'cfToken': self.key}
|
||||
else:
|
||||
return render(request, 'dns/addDeleteDNSRecordsCloudFlare.html', {"status": 1, 'CloudFlare': CloudFlare})
|
||||
data = {"status": status, 'CloudFlare': CloudFlare}
|
||||
|
||||
except BaseException as msg:
|
||||
return HttpResponse(str(msg))
|
||||
template = 'dns/addDeleteDNSRecordsCloudFlare.html'
|
||||
proc = httpProc(request, template, data, 'addDeleteRecords')
|
||||
return proc.render()
|
||||
|
||||
def saveCFConfigs(self, userID = None, data = None):
|
||||
try:
|
||||
|
||||
@@ -71,14 +71,12 @@ class ACLManager:
|
||||
finalResponse['serverIPAddress'] = serverIPAddress
|
||||
finalResponse['adminName'] = admin.firstName
|
||||
|
||||
if admin.acl.adminStatus == 1:
|
||||
config = json.loads(admin.acl.config)
|
||||
|
||||
if config['adminStatus']:
|
||||
finalResponse['admin'] = 1
|
||||
else:
|
||||
finalResponse['admin'] = 0
|
||||
|
||||
config = json.loads(admin.acl.config)
|
||||
|
||||
acl = ACL.objects.get(name=admin.acl.name)
|
||||
finalResponse['versionManagement'] = config['versionManagement']
|
||||
|
||||
## User Management
|
||||
|
||||
@@ -2,12 +2,14 @@
|
||||
|
||||
from django.shortcuts import render, HttpResponse
|
||||
import json
|
||||
from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter
|
||||
|
||||
class httpProc:
|
||||
def __init__(self, request, templateName, data = None):
|
||||
def __init__(self, request, templateName, data = None, function = None):
|
||||
self.request = request
|
||||
self.templateName = templateName
|
||||
self.data = data
|
||||
self.function = function
|
||||
|
||||
|
||||
def render(self):
|
||||
@@ -15,19 +17,33 @@ class httpProc:
|
||||
from loginSystem.models import Administrator
|
||||
from plogical.acl import ACLManager
|
||||
userID = self.request.session['userID']
|
||||
admin = Administrator.objects.get(pk=userID)
|
||||
currentACL = ACLManager.loadedACL(userID)
|
||||
|
||||
### Permissions Check
|
||||
|
||||
if self.function != None:
|
||||
if not currentACL['admin']:
|
||||
if not currentACL[self.function]:
|
||||
templateName = 'baseTemplate/error.html'
|
||||
return render(self.request, templateName, {'error_message': 'You are not authorized to access %s' % (self.function)})
|
||||
|
||||
###
|
||||
|
||||
if self.data == None:
|
||||
self.data = {}
|
||||
|
||||
self.data.update(ACLManager.loadedACL(userID))
|
||||
return render(self.request, self.templateName, self.data)
|
||||
ipFile = "/etc/cyberpanel/machineIP"
|
||||
f = open(ipFile)
|
||||
ipData = f.read()
|
||||
ipAddress = ipData.split('\n', 1)[0]
|
||||
self.data['ipAddress'] = ipAddress
|
||||
|
||||
self.data.update(currentACL)
|
||||
|
||||
return render(self.request, self.templateName, self.data)
|
||||
except BaseException as msg:
|
||||
templateName = 'UserManagement/login.html'
|
||||
return render(self.request, templateName)
|
||||
templateName = 'baseTemplate/error.html'
|
||||
return render(self.request, templateName, {'error_message': str(msg)})
|
||||
|
||||
def renderPre(self):
|
||||
if self.data == None:
|
||||
|
||||
@@ -458,6 +458,7 @@ app.controller('deleteUser', function ($scope, $http) {
|
||||
|
||||
|
||||
/* Java script code to create acl */
|
||||
|
||||
app.controller('createACLCTRL', function ($scope, $http) {
|
||||
|
||||
$scope.aclLoading = true;
|
||||
@@ -520,11 +521,13 @@ app.controller('createACLCTRL', function ($scope, $http) {
|
||||
// Backup Management
|
||||
|
||||
$scope.createBackup = true;
|
||||
$scope.googleDriveBackups = true;
|
||||
$scope.restoreBackup = false;
|
||||
$scope.addDeleteDestinations = false;
|
||||
$scope.scheDuleBackups = false;
|
||||
$scope.remoteBackups = false;
|
||||
|
||||
|
||||
// SSL Management
|
||||
|
||||
$scope.manageSSL = true;
|
||||
@@ -599,6 +602,7 @@ app.controller('createACLCTRL', function ($scope, $http) {
|
||||
// Backup Management
|
||||
|
||||
createBackup: $scope.createBackup,
|
||||
googleDriveBackups: $scope.googleDriveBackups,
|
||||
restoreBackup: $scope.restoreBackup,
|
||||
addDeleteDestinations: $scope.addDeleteDestinations,
|
||||
scheDuleBackups: $scope.scheDuleBackups,
|
||||
@@ -976,6 +980,7 @@ app.controller('modifyACLCtrl', function ($scope, $http) {
|
||||
// Backup Management
|
||||
|
||||
$scope.createBackup = Boolean(response.data.createBackup);
|
||||
$scope.googleDriveBackups = Boolean(response.data.googleDriveBackups);
|
||||
$scope.restoreBackup = Boolean(response.data.restoreBackup);
|
||||
$scope.addDeleteDestinations = Boolean(response.data.addDeleteDestinations);
|
||||
$scope.scheDuleBackups = Boolean(response.data.scheDuleBackups);
|
||||
@@ -1076,6 +1081,7 @@ app.controller('modifyACLCtrl', function ($scope, $http) {
|
||||
// Backup Management
|
||||
|
||||
createBackup: $scope.createBackup,
|
||||
googleDriveBackups: $scope.googleDriveBackups,
|
||||
restoreBackup: $scope.restoreBackup,
|
||||
addDeleteDestinations: $scope.addDeleteDestinations,
|
||||
scheDuleBackups: $scope.scheDuleBackups,
|
||||
|
||||
Reference in New Issue
Block a user