Any CSS added here will apply to whole dashboard design.
+
{% endif %}
+
+
diff --git a/baseTemplate/tests.py b/baseTemplate/tests.py
index f067dcaac..4c524cfea 100755
--- a/baseTemplate/tests.py
+++ b/baseTemplate/tests.py
@@ -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'])
diff --git a/baseTemplate/urls.py b/baseTemplate/urls.py
index c69f83e3d..ad11d2197 100755
--- a/baseTemplate/urls.py
+++ b/baseTemplate/urls.py
@@ -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'),
diff --git a/baseTemplate/views.py b/baseTemplate/views.py
index 432fe70ee..04cd9ca5a 100755
--- a/baseTemplate/views.py
+++ b/baseTemplate/views.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
-from django.shortcuts import render,redirect
+from django.shortcuts import render, redirect
from django.http import HttpResponse
from plogical.getSystemInformation import SystemInformation
import json
@@ -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']
@@ -65,6 +68,7 @@ def getAdminStatus(request):
except KeyError:
return HttpResponse("Can not get admin Status")
+
def getSystemStatus(request):
try:
val = request.session['userID']
@@ -75,6 +79,7 @@ def getSystemStatus(request):
except KeyError:
return HttpResponse("Can not get admin Status")
+
def getLoadAverage(request):
try:
val = request.session['userID']
@@ -84,12 +89,13 @@ def getLoadAverage(request):
one = loadAverage[0]
two = loadAverage[1]
three = loadAverage[2]
- loadAvg = {"one": one, "two": two,"three": three}
+ loadAvg = {"one": one, "two": two, "three": three}
json_data = json.dumps(loadAvg)
return HttpResponse(json_data)
except KeyError:
return HttpResponse("Not allowed.")
+
@ensure_csrf_cookie
def versionManagment(request):
## Get latest version
@@ -111,6 +117,7 @@ def versionManagment(request):
proc = httpProc(request, template, finalData, 'versionManagement')
return proc.render()
+
def upgrade(request):
try:
admin = request.session['userID']
@@ -130,9 +137,9 @@ def upgrade(request):
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)
@@ -140,10 +147,11 @@ def upgrade(request):
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)
return HttpResponse(json_data)
+
def upgradeStatus(request):
try:
val = request.session['userID']
@@ -160,8 +168,7 @@ def upgradeStatus(request):
'upgradeLog': "Upgrade Just started.."})
return HttpResponse(final_json)
-
- if upgradeLog.find("Upgrade Completed")>-1:
+ if upgradeLog.find("Upgrade Completed") > -1:
vers = version.objects.get(pk=1)
getVersion = requests.get('https://cyberpanel.net/version.txt')
@@ -192,6 +199,7 @@ def upgradeStatus(request):
final_json = json.dumps(final_dic)
return HttpResponse(final_json)
+
def upgradeVersion(request):
try:
vers = version.objects.get(pk=1)
@@ -205,6 +213,7 @@ def upgradeVersion(request):
logging.CyberCPLogFileWriter.writeToFile(str(msg))
return HttpResponse(str(msg))
+
@ensure_csrf_cookie
def design(request):
### Load Custom CSS
@@ -224,8 +233,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)