Upcloudfull

This commit is contained in:
habi
2022-03-02 13:18:22 +05:00
parent 7632b14c12
commit d4dd7fdaa1
5 changed files with 148 additions and 22 deletions

View File

@@ -98,21 +98,21 @@ app.filter('getwebsitename', function () {
}; };
}); });
function getWebsiteName(domain){ function getWebsiteName(domain) {
if (domain !== undefined) { if (domain !== undefined) {
domain = domain.replace(/-/g, ''); domain = domain.replace(/-/g, '');
var domainName = domain.split("."); var domainName = domain.split(".");
var finalDomainName = domainName[0]; var finalDomainName = domainName[0];
if (finalDomainName.length > 5) { if (finalDomainName.length > 5) {
finalDomainName = finalDomainName.substring(0, 4); finalDomainName = finalDomainName.substring(0, 4);
}
return finalDomainName;
} }
return finalDomainName;
}
} }
app.controller('systemStatusInfo', function ($scope, $http, $timeout) { app.controller('systemStatusInfo', function ($scope, $http, $timeout) {
@@ -654,3 +654,49 @@ app.controller('versionManagment', function ($scope, $http, $timeout) {
}; };
}); });
app.controller('designtheme', function ($scope, $http, $timeout) {
$scope.themeloading = true;
$scope.getthemedata = function () {
$scope.themeloading = false;
url = "/base/getthemedata";
var data = {
package: "helo world",
Themename: $('#stheme').val(),
};
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data, config).then(Listgetthemedata, cantgetthemedata);
function Listgetthemedata(response) {
$scope.themeloading = true;
if (response.data.status === 1) {
document.getElementById('appendthemedata').innerHTML = "";
$("#appendthemedata").val(response.data.csscontent)
} else {
alert(response.data.error_message)
}
}
function cantgetthemedata(response) {
$scope.themeloading = true;
console.log(response);
}
//$timeout(getStuff, 2000);
};
});

View File

@@ -8,7 +8,7 @@
<!-- Current language: {{ LANGUAGE_CODE }} --> <!-- Current language: {{ LANGUAGE_CODE }} -->
<div class="container"> <div class="container" ng-controller="designtheme">
<div id="page-title"> <div id="page-title">
<h2>{% trans "Design" %}</h2> <h2>{% trans "Design" %}</h2>
<p>{% trans "" %}</p> <p>{% trans "" %}</p>
@@ -16,9 +16,11 @@
<div class="panel"> <div class="panel">
<div class="panel-body"> <div class="panel-body">
<h3 class="content-box-header"> <h3 class="content-box-header">
{% trans "Custom CSS" %} {% trans "Custom CSS" %}<img ng-hide="themeloading"
src="{% static 'images/loading.gif' %}">
</h3> </h3>
<p>Any CSS added here will apply to whole dashboard design.</p> <p>Any CSS added here will apply to whole dashboard design.</p>
<div class="example-box-wrapper"> <div class="example-box-wrapper">
<form action="{% url 'design' %}" method="POST" class="form-horizontal bordered-row panel-body"> <form action="{% url 'design' %}" method="POST" class="form-horizontal bordered-row panel-body">
{% csrf_token %} {% csrf_token %}
@@ -34,9 +36,19 @@
</div> </div>
{% endif %} {% endif %}
<select ng-change="getthemedata()" ng-model="stheme" id="stheme"
style="width: 49%; padding: 8px; margin-top: 5px; margin-bottom: 10px"
class="form-control form-select form-select-lg"
aria-label=".form-select-lg example">
{% for key in tree %}
<option value="{{ key }}">{{ key }}</option>
{% endfor %}
</select>
<div ng-hide="keyBox" class="form-group"> <div ng-hide="keyBox" class="form-group">
<div class="col-sm-12"> <div class="col-sm-12">
<textarea name="MainDashboardCSS" rows="12" <textarea id="appendthemedata" name="MainDashboardCSS" rows="12"
class="form-control ng-pristine ng-untouched ng-valid ng-empty">{{ cosmetic.MainDashboardCSS }}</textarea> class="form-control ng-pristine ng-untouched ng-valid ng-empty">{{ cosmetic.MainDashboardCSS }}</textarea>
</div> </div>
</div> </div>

View File

@@ -1,6 +1,26 @@
# -*- coding: utf-8 -*- import requests
from django.test import TestCase
# Create your tests here. ab = {'package': 'helo world', 'Themename': 'blue-green-theme'}
url= "https://raw.githubusercontent.com/usmannasir/CyberPanel-Themes/main/%s/design.css"%ab['Themename']
#url= "https://api.github.com/repos/usmannasir/CyberPanel-Themes/git/commits/def351a6eb4c103fb2dd2acf52396d4ef6111eee"
res=requests.get(url)
# sha=res.json()[0]['sha']
print(res.text)
# l ="https://api.github.com/repos/usmannasir/CyberPanel-Themes/git/trees/%s"%sha
# fres=requests.get(l)
#
# print(fres.json())
# # tott = len(fres.json()['tree'])
#
# finalData['tree']=[]
# for i in range(tott):
# if(fres.json()['tree'][i]['type']=="tree"):
# finalData['tree'].append(fres.json()['tree'][i]['path'])
#
# print(finalData['tree'])

View File

@@ -8,6 +8,7 @@ urlpatterns = [
url(r'^getLoadAverage',views.getLoadAverage, name='getLoadAverage'), url(r'^getLoadAverage',views.getLoadAverage, name='getLoadAverage'),
url(r'^versionManagment',views.versionManagment, name='versionManagment'), url(r'^versionManagment',views.versionManagment, name='versionManagment'),
url(r'^design', views.design, name='design'), url(r'^design', views.design, name='design'),
url(r'^getthemedata', views.getthemedata, name='getthemedata'),
#url(r'^upgrade',views.upgrade, name='upgrade'), #url(r'^upgrade',views.upgrade, name='upgrade'),

View File

@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
from django.shortcuts import render,redirect from django.shortcuts import render, redirect
from django.http import HttpResponse from django.http import HttpResponse
from plogical.getSystemInformation import SystemInformation from plogical.getSystemInformation import SystemInformation
import json import json
@@ -15,11 +15,13 @@ from manageServices.models import PDNSStatus
from django.views.decorators.csrf import ensure_csrf_cookie from django.views.decorators.csrf import ensure_csrf_cookie
from plogical.processUtilities import ProcessUtilities from plogical.processUtilities import ProcessUtilities
from plogical.httpProc import httpProc from plogical.httpProc import httpProc
# Create your views here. # Create your views here.
VERSION = '2.1' VERSION = '2.1'
BUILD = 2 BUILD = 2
@ensure_csrf_cookie @ensure_csrf_cookie
def renderBase(request): def renderBase(request):
template = 'baseTemplate/homePage.html' template = 'baseTemplate/homePage.html'
@@ -29,6 +31,7 @@ def renderBase(request):
proc = httpProc(request, template, finaData) proc = httpProc(request, template, finaData)
return proc.render() return proc.render()
def getAdminStatus(request): def getAdminStatus(request):
try: try:
val = request.session['userID'] val = request.session['userID']
@@ -64,6 +67,7 @@ def getAdminStatus(request):
except KeyError: except KeyError:
return HttpResponse("Can not get admin Status") return HttpResponse("Can not get admin Status")
def getSystemStatus(request): def getSystemStatus(request):
try: try:
val = request.session['userID'] val = request.session['userID']
@@ -74,6 +78,7 @@ def getSystemStatus(request):
except KeyError: except KeyError:
return HttpResponse("Can not get admin Status") return HttpResponse("Can not get admin Status")
def getLoadAverage(request): def getLoadAverage(request):
try: try:
val = request.session['userID'] val = request.session['userID']
@@ -83,12 +88,13 @@ def getLoadAverage(request):
one = loadAverage[0] one = loadAverage[0]
two = loadAverage[1] two = loadAverage[1]
three = loadAverage[2] three = loadAverage[2]
loadAvg = {"one": one, "two": two,"three": three} loadAvg = {"one": one, "two": two, "three": three}
json_data = json.dumps(loadAvg) json_data = json.dumps(loadAvg)
return HttpResponse(json_data) return HttpResponse(json_data)
except KeyError: except KeyError:
return HttpResponse("Not allowed.") return HttpResponse("Not allowed.")
@ensure_csrf_cookie @ensure_csrf_cookie
def versionManagment(request): def versionManagment(request):
## Get latest version ## Get latest version
@@ -110,6 +116,7 @@ def versionManagment(request):
proc = httpProc(request, template, finalData, 'versionManagement') proc = httpProc(request, template, finalData, 'versionManagement')
return proc.render() return proc.render()
def upgrade(request): def upgrade(request):
try: try:
admin = request.session['userID'] admin = request.session['userID']
@@ -129,9 +136,9 @@ def upgrade(request):
from upgrade import Upgrade from upgrade import Upgrade
Upgrade.initiateUpgrade(vers.currentVersion,vers.build) Upgrade.initiateUpgrade(vers.currentVersion, vers.build)
adminData = {"upgrade":1} adminData = {"upgrade": 1}
json_data = json.dumps(adminData) json_data = json.dumps(adminData)
@@ -139,10 +146,11 @@ def upgrade(request):
except KeyError: except KeyError:
adminData = {"upgrade": 1,"error_message":"Please login or refresh this page."} adminData = {"upgrade": 1, "error_message": "Please login or refresh this page."}
json_data = json.dumps(adminData) json_data = json.dumps(adminData)
return HttpResponse(json_data) return HttpResponse(json_data)
def upgradeStatus(request): def upgradeStatus(request):
try: try:
val = request.session['userID'] val = request.session['userID']
@@ -159,8 +167,7 @@ def upgradeStatus(request):
'upgradeLog': "Upgrade Just started.."}) 'upgradeLog': "Upgrade Just started.."})
return HttpResponse(final_json) return HttpResponse(final_json)
if upgradeLog.find("Upgrade Completed") > -1:
if upgradeLog.find("Upgrade Completed")>-1:
vers = version.objects.get(pk=1) vers = version.objects.get(pk=1)
getVersion = requests.get('https://cyberpanel.net/version.txt') getVersion = requests.get('https://cyberpanel.net/version.txt')
@@ -191,6 +198,7 @@ def upgradeStatus(request):
final_json = json.dumps(final_dic) final_json = json.dumps(final_dic)
return HttpResponse(final_json) return HttpResponse(final_json)
def upgradeVersion(request): def upgradeVersion(request):
try: try:
vers = version.objects.get(pk=1) vers = version.objects.get(pk=1)
@@ -204,6 +212,7 @@ def upgradeVersion(request):
logging.CyberCPLogFileWriter.writeToFile(str(msg)) logging.CyberCPLogFileWriter.writeToFile(str(msg))
return HttpResponse(str(msg)) return HttpResponse(str(msg))
@ensure_csrf_cookie @ensure_csrf_cookie
def design(request): def design(request):
### Load Custom CSS ### Load Custom CSS
@@ -223,8 +232,46 @@ def design(request):
cosmetic.save() cosmetic.save()
finalData['saved'] = 1 finalData['saved'] = 1
####### Fetch sha...
sha_url = "https://api.github.com/repos/usmannasir/CyberPanel-Themes/commits"
sha_res = requests.get(sha_url)
sha = sha_res.json()[0]['sha']
l = "https://api.github.com/repos/usmannasir/CyberPanel-Themes/git/trees/%s" % sha
fres = requests.get(l)
tott = len(fres.json()['tree'])
finalData['tree'] = []
for i in range(tott):
if (fres.json()['tree'][i]['type'] == "tree"):
finalData['tree'].append(fres.json()['tree'][i]['path'])
template = 'baseTemplate/design.html' template = 'baseTemplate/design.html'
finalData['cosmetic'] = cosmetic finalData['cosmetic'] = cosmetic
proc = httpProc(request, template, finalData, 'versionManagement') proc = httpProc(request, template, finalData, 'versionManagement')
return proc.render() return proc.render()
def getthemedata(request):
try:
val = request.session['userID']
currentACL = ACLManager.loadedACL(val)
data = json.loads(request.body)
#logging.CyberCPLogFileWriter.writeToFile(str(data) + " [themedata]")
url = "https://raw.githubusercontent.com/usmannasir/CyberPanel-Themes/main/%s/design.css" % data['Themename']
res = requests.get(url)
rsult = res.text
final_dic = {'status': 1, 'csscontent': rsult}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
except BaseException as msg:
final_dic = {'status': 0, 'error_message': str(msg)}
final_json = json.dumps(final_dic)
return HttpResponse(final_json)