diff --git a/dockerManager/container.py b/dockerManager/container.py
index 65fb3d787..9b9e6c7fe 100755
--- a/dockerManager/container.py
+++ b/dockerManager/container.py
@@ -6,6 +6,8 @@ import sys
import django
import mimetypes
+from plogical.httpProc import httpProc
+
sys.path.append('/usr/local/CyberCP')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings")
django.setup()
@@ -91,59 +93,53 @@ class ContainerManager(multi.Thread):
logging.CyberCPLogFileWriter.statusWriter(ServerStatusUtil.lswsInstallStatusPath, str(msg) + ' [404].', 1)
def createContainer(self, request=None, userID=None, data=None):
+ client = docker.from_env()
+ dockerAPI = docker.APIClient()
+
+ adminNames = ACLManager.loadAllUsers(userID)
+ tag = request.GET.get('tag')
+ image = request.GET.get('image')
+ tag = tag.split(" (")[0]
+
+ if "/" in image:
+ name = image.split("/")[0] + "." + image.split("/")[1]
+ else:
+ name = image
+
try:
- admin = Administrator.objects.get(pk=userID)
- if admin.acl.adminStatus != 1:
- return ACLManager.loadError()
+ inspectImage = dockerAPI.inspect_image(image + ":" + tag)
+ except docker.errors.ImageNotFound:
+ val = request.session['userID']
+ admin = Administrator.objects.get(pk=val)
+ return render(request, 'dockerManager/images.html', {"type": admin.type,
+ 'image': image,
+ 'tag': tag})
- client = docker.from_env()
- dockerAPI = docker.APIClient()
+ envList = {};
+ if 'Env' in inspectImage['Config']:
+ for item in inspectImage['Config']['Env']:
+ if '=' in item:
+ splitedItem = item.split('=', 1)
+ print(splitedItem)
+ envList[splitedItem[0]] = splitedItem[1]
+ else:
+ envList[item] = ""
- adminNames = ACLManager.loadAllUsers(userID)
- tag = request.GET.get('tag')
- image = request.GET.get('image')
- tag = tag.split(" (")[0]
+ portConfig = {};
+ if 'ExposedPorts' in inspectImage['Config']:
+ for item in inspectImage['Config']['ExposedPorts']:
+ portDef = item.split('/')
+ portConfig[portDef[0]] = portDef[1]
- if "/" in image:
- name = image.split("/")[0] + "." + image.split("/")[1]
- else:
- name = image
+ if image is None or image is '' or tag is None or tag is '':
+ return redirect(loadImages)
- try:
- inspectImage = dockerAPI.inspect_image(image + ":" + tag)
- except docker.errors.ImageNotFound:
- val = request.session['userID']
- admin = Administrator.objects.get(pk=val)
- return render(request, 'dockerManager/images.html', {"type": admin.type,
- 'image': image,
- 'tag': tag})
+ Data = {"ownerList": adminNames, "image": image, "name": name, "tag": tag, "portConfig": portConfig,
+ "envList": envList}
- envList = {};
- if 'Env' in inspectImage['Config']:
- for item in inspectImage['Config']['Env']:
- if '=' in item:
- splitedItem = item.split('=', 1)
- print(splitedItem)
- envList[splitedItem[0]] = splitedItem[1]
- else:
- envList[item] = ""
-
- portConfig = {};
- if 'ExposedPorts' in inspectImage['Config']:
- for item in inspectImage['Config']['ExposedPorts']:
- portDef = item.split('/')
- portConfig[portDef[0]] = portDef[1]
-
- if image is None or image is '' or tag is None or tag is '':
- return redirect(loadImages)
-
- Data = {"ownerList": adminNames, "image": image, "name": name, "tag": tag, "portConfig": portConfig,
- "envList": envList}
-
- return render(request, 'dockerManager/runContainer.html', Data)
-
- except BaseException as msg:
- return HttpResponse(str(msg))
+ template = 'dockerManager/runContainer.html'
+ proc = httpProc(request, template, Data, 'admin')
+ return proc.render()
def loadContainerHome(self, request=None, userID=None, data=None):
name = self.name
@@ -196,51 +192,52 @@ class ContainerManager(multi.Thread):
data['memoryUsage'] = 0
data['cpuUsage'] = 0
- return render(request, 'dockerManager/viewContainer.html', data)
+ template = 'dockerManager/viewContainer.html'
+ proc = httpProc(request, template, data, 'admin')
+ return proc.render()
def listContainers(self, request=None, userID=None, data=None):
- try:
- client = docker.from_env()
- dockerAPI = docker.APIClient()
+ client = docker.from_env()
+ dockerAPI = docker.APIClient()
- currentACL = ACLManager.loadedACL(userID)
- containers = ACLManager.findAllContainers(currentACL, userID)
+ currentACL = ACLManager.loadedACL(userID)
+ containers = ACLManager.findAllContainers(currentACL, userID)
- allContainers = client.containers.list()
- containersList = []
- showUnlistedContainer = True
+ allContainers = client.containers.list()
+ containersList = []
+ showUnlistedContainer = True
- # TODO: Add condition to show unlisted Containers only if user has admin level access
+ # TODO: Add condition to show unlisted Containers only if user has admin level access
- unlistedContainers = []
- for container in allContainers:
- if container.name not in containers:
- unlistedContainers.append(container)
+ unlistedContainers = []
+ for container in allContainers:
+ if container.name not in containers:
+ unlistedContainers.append(container)
- if not unlistedContainers:
- showUnlistedContainer = False
+ if not unlistedContainers:
+ showUnlistedContainer = False
- adminNames = ACLManager.loadAllUsers(userID)
+ adminNames = ACLManager.loadAllUsers(userID)
- pages = float(len(containers)) / float(10)
- pagination = []
+ pages = float(len(containers)) / float(10)
+ pagination = []
- if pages <= 1.0:
- pages = 1
- pagination.append('
')
- else:
- pages = ceil(pages)
- finalPages = int(pages) + 1
+ if pages <= 1.0:
+ pages = 1
+ pagination.append('')
+ else:
+ pages = ceil(pages)
+ finalPages = int(pages) + 1
- for i in range(1, finalPages):
- pagination.append('' + str(i) + '')
+ for i in range(1, finalPages):
+ pagination.append('' + str(i) + '')
- return render(request, 'dockerManager/listContainers.html', {"pagination": pagination,
- "unlistedContainers": unlistedContainers,
- "adminNames": adminNames,
- "showUnlistedContainer": showUnlistedContainer})
- except BaseException as msg:
- return HttpResponse(str(msg))
+ template = 'dockerManager/listContainers.html'
+ proc = httpProc(request, template, {"pagination": pagination,
+ "unlistedContainers": unlistedContainers,
+ "adminNames": adminNames,
+ "showUnlistedContainer": showUnlistedContainer}, 'admin')
+ return proc.render()
def getContainerLogs(self, userID=None, data=None):
try:
@@ -774,7 +771,9 @@ class ContainerManager(multi.Thread):
except:
continue
- return render(request, 'dockerManager/images.html', {"images": images, "test": ''})
+ template = 'dockerManager/images.html'
+ proc = httpProc(request, template, {"images": images, "test": ''}, 'admin')
+ return proc.render()
except BaseException as msg:
return HttpResponse(str(msg))
@@ -808,7 +807,9 @@ class ContainerManager(multi.Thread):
except:
continue
- return render(request, 'dockerManager/manageImages.html', {"images": images})
+ template = 'dockerManager/manageImages.html'
+ proc = httpProc(request, template, {"images": images}, 'admin')
+ return proc.render()
except BaseException as msg:
return HttpResponse(str(msg))
diff --git a/dockerManager/views.py b/dockerManager/views.py
index 976b27206..ed871a900 100755
--- a/dockerManager/views.py
+++ b/dockerManager/views.py
@@ -1,9 +1,10 @@
# -*- coding: utf-8 -*-
-from django.shortcuts import render, redirect, HttpResponse
+from django.shortcuts import redirect, HttpResponse
from loginSystem.models import Administrator
from loginSystem.views import loadLoginPage
+from plogical.httpProc import httpProc
from .container import ContainerManager
from .decorators import preDockerRun
from plogical.acl import ACLManager
@@ -25,15 +26,12 @@ def dockerPermission(request, userID, context):
@preDockerRun
def loadDockerHome(request):
- try:
- userID = request.session['userID']
- perm = dockerPermission(request, userID, 'loadDockerHome')
- if perm: return perm
-
- admin = Administrator.objects.get(pk=userID)
- return render(request,'dockerManager/index.html',{"type":admin.type})
- except KeyError:
- return redirect(loadLoginPage)
+ userID = request.session['userID']
+ admin = Administrator.objects.get(pk=userID)
+ template = 'dockerManager/index.html'
+
+ proc = httpProc(request, template, {"type": admin.type}, 'admin')
+ return proc.render()
def installDocker(request):
try:
diff --git a/emailMarketing/emailMarketingManager.py b/emailMarketing/emailMarketingManager.py
index ef2061be9..cfb19b343 100755
--- a/emailMarketing/emailMarketingManager.py
+++ b/emailMarketing/emailMarketingManager.py
@@ -4,6 +4,8 @@ from loginSystem.views import loadLoginPage
import json
from random import randint
import time
+
+from plogical.httpProc import httpProc
from .models import EmailMarketing, EmailLists, EmailsInList, EmailJobs
from websiteFunctions.models import Websites
from .emailMarketing import emailMarketing as EM
@@ -21,18 +23,8 @@ class EmailMarketingManager:
self.domain = domain
def emailMarketing(self):
- try:
- userID = self.request.session['userID']
- currentACL = ACLManager.loadedACL(userID)
-
- if currentACL['admin'] == 1:
- pass
- else:
- return ACLManager.loadError()
-
- return render(self.request, 'emailMarketing/emailMarketing.html')
- except KeyError as msg:
- return redirect(loadLoginPage)
+ proc = httpProc(self.request, 'emailMarketing/emailMarketing.html', None, 'admin')
+ return proc.render()
def fetchUsers(self):
try:
@@ -123,7 +115,8 @@ class EmailMarketingManager:
if emACL.checkIfEMEnabled(admin.userName) == 0:
return ACLManager.loadError()
- return render(self.request, 'emailMarketing/createEmailList.html', {'domain': self.domain})
+ proc = httpProc(self.request, 'emailMarketing/createEmailList.html', {'domain': self.domain}, 'admin')
+ return proc.render()
except KeyError as msg:
return redirect(loadLoginPage)
@@ -178,7 +171,9 @@ class EmailMarketingManager:
listNames = emACL.getEmailsLists(self.domain)
- return render(self.request, 'emailMarketing/manageLists.html', {'listNames': listNames, 'domain': self.domain})
+ proc = httpProc(self.request, 'emailMarketing/manageLists.html', {'listNames': listNames, 'domain': self.domain}, 'admin')
+ return proc.render()
+
except KeyError as msg:
return redirect(loadLoginPage)
@@ -196,7 +191,10 @@ class EmailMarketingManager:
if emACL.checkIfEMEnabled(admin.userName) == 0:
return ACLManager.loadError()
- return render(self.request, 'emailMarketing/configureVerify.html', {'domain': self.domain})
+ proc = httpProc(self.request, 'emailMarketing/configureVerify.html',
+ {'domain': self.domain}, 'admin')
+ return proc.render()
+
except KeyError as msg:
return redirect(loadLoginPage)
@@ -490,7 +488,10 @@ class EmailMarketingManager:
for items in emailLists:
listNames.append(items.listName)
- return render(self.request, 'emailMarketing/manageSMTPHosts.html', {'listNames': listNames, 'domain': self.domain})
+
+ proc = httpProc(self.request, 'emailMarketing/manageSMTPHosts.html',
+ {'listNames': listNames, 'domain': self.domain}, 'admin')
+ return proc.render()
except KeyError as msg:
return redirect(loadLoginPage)
@@ -657,7 +658,9 @@ class EmailMarketingManager:
if emACL.checkIfEMEnabled(admin.userName) == 0:
return ACLManager.loadErrorJson()
- return render(self.request, 'emailMarketing/composeMessages.html')
+ proc = httpProc(self.request, 'emailMarketing/composeMessages.html',
+ None, 'admin')
+ return proc.render()
except KeyError as msg:
return redirect(loadLoginPage)
@@ -709,7 +712,11 @@ class EmailMarketingManager:
Data['templateNames'] = templateNames
Data['hostNames'] = hostNames
Data['listNames'] = listNames
- return render(self.request, 'emailMarketing/sendEmails.html', Data)
+
+ proc = httpProc(self.request, 'emailMarketing/sendEmails.html',
+ Data, 'admin')
+ return proc.render()
+
except KeyError as msg:
return redirect(loadLoginPage)
diff --git a/emailPremium/views.py b/emailPremium/views.py
index 62f224844..bbe8b1ccc 100755
--- a/emailPremium/views.py
+++ b/emailPremium/views.py
@@ -6,6 +6,7 @@ from django.http import HttpResponse
from mailServer.models import Domains, EUsers
# Create your views here.
from loginSystem.models import Administrator
+from plogical.httpProc import httpProc
from websiteFunctions.models import Websites
from loginSystem.views import loadLoginPage
import plogical.CyberCPLogFileWriter as logging
@@ -34,7 +35,9 @@ def emailPolicyServer(request):
else:
return ACLManager.loadError()
- return render(request, 'emailPremium/policyServer.html')
+ proc = httpProc(request, 'emailPremium/policyServer.html',
+ None, 'admin')
+ return proc.render()
except KeyError:
return redirect(loadLoginPage)
@@ -171,8 +174,9 @@ def listDomains(request):
for i in range(1, finalPages):
pagination.append('' + str(i) + '')
-
- return render(request,'emailPremium/listDomains.html',{"pagination":pagination, "installCheck": installCheck})
+ proc = httpProc(request, 'emailPremium/listDomains.html',
+ {"pagination":pagination, "installCheck": installCheck}, 'admin')
+ return proc.render()
except BaseException as msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg))
@@ -350,9 +354,12 @@ def emailLimits(request,domain):
Data['pagination'] = pagination
- return render(request, 'emailPremium/emailLimits.html', Data)
+ proc = httpProc(request, 'emailPremium/emailLimits.html', Data, 'admin')
+ return proc.render()
+
else:
- return render(request, 'emailPremium/emailLimits.html', {"error":1,"domain": "This domain does not exists"})
+ proc = httpProc(request, 'emailPremium/emailLimits.html', {"error":1,"domain": "This domain does not exists"}, 'admin')
+ return proc.render()
except KeyError:
return redirect(loadLoginPage)
@@ -525,7 +532,9 @@ def emailPage(request, emailAddress):
Data['pagination'] = pagination
- return render(request, 'emailPremium/emailPage.html', Data)
+ proc = httpProc(request, 'emailPremium/emailPage.html', Data, 'admin')
+ return proc.render()
+
except KeyError:
return redirect(loadLoginPage)
@@ -785,8 +794,8 @@ def spamAssassinHome(request):
if mailUtilities.checkIfSpamAssassinInstalled() == 1:
checkIfSpamAssassinInstalled = 1
- return render(request, 'emailPremium/SpamAssassin.html',{'checkIfSpamAssassinInstalled': checkIfSpamAssassinInstalled})
-
+ proc = httpProc(request, 'emailPremium/SpamAssassin.html', {'checkIfSpamAssassinInstalled': checkIfSpamAssassinInstalled}, 'admin')
+ return proc.render()
except KeyError:
return redirect(loadLoginPage)
@@ -1037,8 +1046,9 @@ def mailQueue(request):
else:
return ACLManager.loadError()
- return render(request, 'emailPremium/mailQueue.html')
-
+ proc = httpProc(request, 'emailPremium/mailQueue.html',
+ None, 'admin')
+ return proc.render()
except KeyError:
return redirect(loadLoginPage)
@@ -1195,7 +1205,9 @@ def MailScanner(request):
if mailUtilities.checkIfMailScannerInstalled() == 1:
checkIfMailScannerInstalled = 1
- return render(request, 'emailPremium/MailScanner.html',{'checkIfMailScannerInstalled': checkIfMailScannerInstalled, 'ipAddress': ipAddress})
+ proc = httpProc(request, 'emailPremium/MailScanner.html',
+ {'checkIfMailScannerInstalled': checkIfMailScannerInstalled, 'ipAddress': ipAddress}, 'admin')
+ return proc.render()
except KeyError:
return redirect(loadLoginPage)
diff --git a/firewall/firewallManager.py b/firewall/firewallManager.py
index 821b6a4fb..b269e6d1d 100755
--- a/firewall/firewallManager.py
+++ b/firewall/firewallManager.py
@@ -3,6 +3,9 @@ import os
import os.path
import sys
import django
+
+from plogical.httpProc import httpProc
+
sys.path.append('/usr/local/CyberCP')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings")
django.setup()
@@ -31,30 +34,14 @@ class FirewallManager:
self.request = request
def securityHome(self, request = None, userID = None):
- try:
- currentACL = ACLManager.loadedACL(userID)
-
- if currentACL['admin'] == 1:
- pass
- else:
- return ACLManager.loadError()
-
- return render(request, 'firewall/index.html')
- except BaseException as msg:
- return HttpResponse(str(msg))
+ proc = httpProc(request, 'firewall/index.html',
+ None, 'admin')
+ return proc.render()
def firewallHome(self, request = None, userID = None):
- try:
- currentACL = ACLManager.loadedACL(userID)
-
- if currentACL['admin'] == 1:
- pass
- else:
- return ACLManager.loadError()
-
- return render(request, 'firewall/firewall.html')
- except BaseException as msg:
- return HttpResponse(str(msg))
+ proc = httpProc(request, 'firewall/firewall.html',
+ None, 'admin')
+ return proc.render()
def getCurrentRules(self, userID = None):
try:
@@ -265,17 +252,9 @@ class FirewallManager:
return HttpResponse(final_json)
def secureSSH(self, request = None, userID = None):
- try:
- currentACL = ACLManager.loadedACL(userID)
-
- if currentACL['admin'] == 1:
- pass
- else:
- return ACLManager.loadError()
-
- return render(request, 'firewall/secureSSH.html')
- except BaseException as msg:
- return HttpResponse(str(msg))
+ proc = httpProc(request, 'firewall/secureSSH.html',
+ None, 'admin')
+ return proc.render()
def getSSHConfigs(self, userID = None, data = None):
try:
@@ -512,7 +491,10 @@ class FirewallManager:
OLS = 0
modSecInstalled = 1
- return render(request, 'firewall/modSecurity.html', {'modSecInstalled': modSecInstalled, 'OLS': OLS})
+ proc = httpProc(request, 'firewall/modSecurity.html',
+ {'modSecInstalled': modSecInstalled, 'OLS': OLS}, 'admin')
+ return proc.render()
+
except BaseException as msg:
return HttpResponse(str(msg))
@@ -894,8 +876,9 @@ class FirewallManager:
else:
modSecInstalled = 1
- return render(request, 'firewall/modSecurityRules.html', {'modSecInstalled': modSecInstalled})
-
+ proc = httpProc(request, 'firewall/modSecurityRules.html',
+ {'modSecInstalled': modSecInstalled}, 'admin')
+ return proc.render()
except BaseException as msg:
return HttpResponse(str(msg))
@@ -1019,7 +1002,9 @@ class FirewallManager:
else:
modSecInstalled = 1
- return render(request, 'firewall/modSecurityRulesPacks.html', {'modSecInstalled': modSecInstalled})
+ proc = httpProc(request, 'firewall/modSecurityRulesPacks.html',
+ {'modSecInstalled': modSecInstalled}, 'admin')
+ return proc.render()
except BaseException as msg:
return HttpResponse(msg)
@@ -1316,7 +1301,11 @@ class FirewallManager:
csfInstalled = 0
except subprocess.CalledProcessError:
csfInstalled = 0
- return render(self.request,'firewall/csf.html', {'csfInstalled' : csfInstalled})
+
+ proc = httpProc(self.request, 'firewall/csf.html',
+ {'csfInstalled' : csfInstalled}, 'admin')
+ return proc.render()
+
except BaseException as msg:
return HttpResponse(str(msg))
@@ -1575,11 +1564,17 @@ class FirewallManager:
data['imunify'] = 0
if data['CL'] == 0:
- return render(self.request, 'firewall/notAvailable.html', data)
+ proc = httpProc(self.request, 'firewall/notAvailable.html',
+ data, 'admin')
+ return proc.render()
elif data['imunify'] == 0:
- return render(self.request, 'firewall/notAvailable.html', data)
+ proc = httpProc(self.request, 'firewall/notAvailable.html',
+ data, 'admin')
+ return proc.render()
else:
- return render(self.request, 'firewall/imunify.html', data)
+ proc = httpProc(self.request, 'firewall/imunify.html',
+ data, 'admin')
+ return proc.render()
except BaseException as msg:
@@ -1639,9 +1634,14 @@ class FirewallManager:
data['imunify'] = 0
if data['imunify'] == 0:
- return render(self.request, 'firewall/notAvailableAV.html', data)
+ proc = httpProc(self.request, 'firewall/notAvailableAV.html',
+ data, 'admin')
+ return proc.render()
else:
- return render(self.request, 'firewall/imunifyAV.html', data)
+ proc = httpProc(self.request, 'firewall/imunifyAV.html',
+ data, 'admin')
+ return proc.render()
+
except BaseException as msg:
diff --git a/ftp/ftpManager.py b/ftp/ftpManager.py
index 3812d57a9..86e583906 100755
--- a/ftp/ftpManager.py
+++ b/ftp/ftpManager.py
@@ -2,6 +2,9 @@
import os.path
import sys
import django
+
+from plogical.httpProc import httpProc
+
sys.path.append('/usr/local/CyberCP')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "CyberCP.settings")
django.setup()
@@ -33,8 +36,9 @@ class FTPManager:
def loadFTPHome(self):
try:
- val = self.request.session['userID']
- return render(self.request, 'ftp/index.html')
+ proc = httpProc(self.request, 'ftp/index.html',
+ None, 'createFTPAccount')
+ return proc.render()
except KeyError:
return redirect(loadLoginPage)
@@ -49,12 +53,15 @@ class FTPManager:
admin = Administrator.objects.get(pk=userID)
if not os.path.exists('/home/cyberpanel/pureftpd'):
- return render(self.request, "ftp/createFTPAccount.html", {"status": 0})
+ proc = httpProc(self.request, 'ftp/createFTPAccount.html',
+ { "status": 0}, 'createFTPAccount')
+ return proc.render()
websitesName = ACLManager.findAllSites(currentACL, userID)
- return render(self.request, 'ftp/createFTPAccount.html',
- {'websiteList': websitesName, 'admin': admin.userName, "status": 1})
+ proc = httpProc(self.request, 'ftp/createFTPAccount.html',
+ {'websiteList': websitesName, 'admin': admin.userName, "status": 1}, 'createFTPAccount')
+ return proc.render()
except BaseException as msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg))
return HttpResponse(str(msg))
@@ -123,11 +130,16 @@ class FTPManager:
return ACLManager.loadError()
if not os.path.exists('/home/cyberpanel/pureftpd'):
- return render(self.request, "ftp/deleteFTPAccount.html", {"status": 0})
+ proc = httpProc(self.request, 'ftp/deleteFTPAccount.html',
+ { "status": 0}, 'deleteFTPAccount')
+ return proc.render()
websitesName = ACLManager.findAllSites(currentACL, userID)
- return render(self.request, 'ftp/deleteFTPAccount.html', {'websiteList': websitesName, "status": 1})
+ proc = httpProc(self.request, 'ftp/deleteFTPAccount.html',
+ {'websiteList': websitesName, "status": 1}, 'deleteFTPAccount')
+ return proc.render()
+
except BaseException as msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg))
return HttpResponse(str(msg))
@@ -212,11 +224,14 @@ class FTPManager:
return ACLManager.loadError()
if not os.path.exists('/home/cyberpanel/pureftpd'):
- return render(self.request, "ftp/listFTPAccounts.html", {"status": 0})
+ proc = httpProc(self.request, 'ftp/listFTPAccounts.html',
+ {"status": 0}, 'listFTPAccounts')
+ return proc.render()
websitesName = ACLManager.findAllSites(currentACL, userID)
-
- return render(self.request, 'ftp/listFTPAccounts.html', {'websiteList': websitesName, "status": 1})
+ proc = httpProc(self.request, 'ftp/listFTPAccounts.html',
+ {'websiteList': websitesName, "status": 1}, 'listFTPAccounts')
+ return proc.render()
except BaseException as msg:
logging.CyberCPLogFileWriter.writeToFile(str(msg))
return HttpResponse(str(msg))