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

@@ -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 }} -->
<div class="container">
<div class="container" ng-controller="designtheme">
<div id="page-title">
<h2>{% trans "Design" %}</h2>
<p>{% trans "" %}</p>
@@ -16,9 +16,11 @@
<div class="panel">
<div class="panel-body">
<h3 class="content-box-header">
{% trans "Custom CSS" %}
{% trans "Custom CSS" %}<img ng-hide="themeloading"
src="{% static 'images/loading.gif' %}">
</h3>
<p>Any CSS added here will apply to whole dashboard design.</p>
<div class="example-box-wrapper">
<form action="{% url 'design' %}" method="POST" class="form-horizontal bordered-row panel-body">
{% csrf_token %}
@@ -34,9 +36,19 @@
</div>
{% 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 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>
</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'^versionManagment',views.versionManagment, name='versionManagment'),
url(r'^design', views.design, name='design'),
url(r'^getthemedata', views.getthemedata, name='getthemedata'),
#url(r'^upgrade',views.upgrade, name='upgrade'),

View File

@@ -15,11 +15,13 @@ from manageServices.models import PDNSStatus
from django.views.decorators.csrf import ensure_csrf_cookie
from plogical.processUtilities import ProcessUtilities
from plogical.httpProc import httpProc
# Create your views here.
VERSION = '2.1'
BUILD = 2
@ensure_csrf_cookie
def renderBase(request):
template = 'baseTemplate/homePage.html'
@@ -29,6 +31,7 @@ def renderBase(request):
proc = httpProc(request, template, finaData)
return proc.render()
def getAdminStatus(request):
try:
val = request.session['userID']
@@ -64,6 +67,7 @@ def getAdminStatus(request):
except KeyError:
return HttpResponse("Can not get admin Status")
def getSystemStatus(request):
try:
val = request.session['userID']
@@ -74,6 +78,7 @@ def getSystemStatus(request):
except KeyError:
return HttpResponse("Can not get admin Status")
def getLoadAverage(request):
try:
val = request.session['userID']
@@ -89,6 +94,7 @@ def getLoadAverage(request):
except KeyError:
return HttpResponse("Not allowed.")
@ensure_csrf_cookie
def versionManagment(request):
## Get latest version
@@ -110,6 +116,7 @@ def versionManagment(request):
proc = httpProc(request, template, finalData, 'versionManagement')
return proc.render()
def upgrade(request):
try:
admin = request.session['userID']
@@ -143,6 +150,7 @@ def upgrade(request):
json_data = json.dumps(adminData)
return HttpResponse(json_data)
def upgradeStatus(request):
try:
val = request.session['userID']
@@ -159,7 +167,6 @@ def upgradeStatus(request):
'upgradeLog': "Upgrade Just started.."})
return HttpResponse(final_json)
if upgradeLog.find("Upgrade Completed") > -1:
vers = version.objects.get(pk=1)
@@ -191,6 +198,7 @@ def upgradeStatus(request):
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
def upgradeVersion(request):
try:
vers = version.objects.get(pk=1)
@@ -204,6 +212,7 @@ def upgradeVersion(request):
logging.CyberCPLogFileWriter.writeToFile(str(msg))
return HttpResponse(str(msg))
@ensure_csrf_cookie
def design(request):
### Load Custom CSS
@@ -223,8 +232,46 @@ def design(request):
cosmetic.save()
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'
finalData['cosmetic'] = cosmetic
proc = httpProc(request, template, finalData, 'versionManagement')
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)