Files
CyberPanel/websiteFunctions/views.py
2019-08-18 21:07:54 +05:00

667 lines
18 KiB
Python
Executable File

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django.shortcuts import render,redirect
from django.http import HttpResponse
from loginSystem.models import Administrator
from loginSystem.views import loadLoginPage
import json
from websiteFunctions.website import WebsiteManager
from websiteFunctions.pluginManager import pluginManager
from django.views.decorators.csrf import csrf_exempt
def loadWebsitesHome(request):
try:
val = request.session['userID']
admin = Administrator.objects.get(pk=val)
return render(request,'websiteFunctions/index.html',{"type":admin.type})
except KeyError:
return redirect(loadLoginPage)
def createWebsite(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.createWebsite(request, userID)
except KeyError:
return redirect(loadLoginPage)
def modifyWebsite(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.modifyWebsite(request, userID)
except BaseException, msg:
return HttpResponse(str(msg))
except KeyError:
return redirect(loadLoginPage)
def deleteWebsite(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.deleteWebsite(request, userID)
except KeyError:
return redirect(loadLoginPage)
def siteState(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.siteState(request, userID)
except KeyError:
return redirect(loadLoginPage)
def listWebsites(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.listWebsites(request, userID)
except KeyError:
return redirect(loadLoginPage)
def submitWebsiteCreation(request):
try:
userID = request.session['userID']
result = pluginManager.preWebsiteCreation(request)
if result != 200:
return result
wm = WebsiteManager()
coreResult = wm.submitWebsiteCreation(userID, json.loads(request.body))
result = pluginManager.postWebsiteCreation(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def submitDomainCreation(request):
try:
userID = request.session['userID']
result = pluginManager.preDomainCreation(request)
if result != 200:
return result
wm = WebsiteManager()
coreResult = wm.submitDomainCreation(userID, json.loads(request.body))
result = pluginManager.postDomainCreation(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def fetchDomains(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.fetchDomains(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def searchWebsites(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.searchWebsites(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def getFurtherAccounts(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.getFurtherAccounts(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def fetchWebsitesList(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.fetchWebsitesList(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def submitWebsiteDeletion(request):
try:
userID = request.session['userID']
result = pluginManager.preWebsiteDeletion(request)
if result != 200:
return result
wm = WebsiteManager()
coreResult = wm.submitWebsiteDeletion(userID, json.loads(request.body))
result = pluginManager.postWebsiteDeletion(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def submitDomainDeletion(request):
try:
userID = request.session['userID']
result = pluginManager.preDomainDeletion(request)
if result != 200:
return result
wm = WebsiteManager()
coreResult = wm.submitDomainDeletion(userID, json.loads(request.body))
result = pluginManager.postDomainDeletion(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def submitWebsiteStatus(request):
try:
userID = request.session['userID']
result = pluginManager.preWebsiteSuspension(request)
if result != 200:
return result
wm = WebsiteManager()
coreResult = wm.submitWebsiteStatus(userID, json.loads(request.body))
result = pluginManager.postWebsiteSuspension(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def submitWebsiteModify(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.submitWebsiteModify(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def saveWebsiteChanges(request):
try:
userID = request.session['userID']
result = pluginManager.preWebsiteModification(request)
if result != 200:
return result
wm = WebsiteManager()
coreResult = wm.saveWebsiteChanges(userID, json.loads(request.body))
result = pluginManager.postWebsiteModification(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def domain(request, domain):
try:
if not request.GET._mutable:
request.GET._mutable = True
request.GET['domain'] = domain
result = pluginManager.preDomain(request)
if result != 200:
return result
userID = request.session['userID']
wm = WebsiteManager(domain)
coreResult = wm.loadDomainHome(request, userID)
result = pluginManager.postDomain(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def launchChild(request, domain, childDomain):
try:
userID = request.session['userID']
wm = WebsiteManager(domain, childDomain)
return wm.launchChild(request, userID)
except KeyError:
return redirect(loadLoginPage)
def getDataFromLogFile(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.getDataFromLogFile(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def fetchErrorLogs(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.fetchErrorLogs(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def getDataFromConfigFile(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.getDataFromConfigFile(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def saveConfigsToFile(request):
try:
userID = request.session['userID']
result = pluginManager.preSaveConfigsToFile(request)
if result != 200:
return result
wm = WebsiteManager()
coreResult = wm.saveConfigsToFile(userID, json.loads(request.body))
result = pluginManager.postSaveConfigsToFile(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def getRewriteRules(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.getRewriteRules(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def saveRewriteRules(request):
try:
userID = request.session['userID']
result = pluginManager.preSaveRewriteRules(request)
if result != 200:
return result
wm = WebsiteManager()
coreResult = wm.saveRewriteRules(userID, json.loads(request.body))
result = pluginManager.postSaveRewriteRules(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def saveSSL(request):
try:
userID = request.session['userID']
result = pluginManager.preSaveSSL(request)
if result != 200:
return result
wm = WebsiteManager()
coreResult = wm.saveSSL(userID, json.loads(request.body))
result = pluginManager.postSaveSSL(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def changePHP(request):
try:
userID = request.session['userID']
result = pluginManager.preChangePHP(request)
if result != 200:
return result
wm = WebsiteManager()
coreResult = wm.changePHP(userID, json.loads(request.body))
result = pluginManager.postChangePHP(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def listCron(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.listCron(request, userID)
except KeyError:
return redirect(loadLoginPage)
def getWebsiteCron(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.getWebsiteCron(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def getCronbyLine(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.getCronbyLine(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def saveCronChanges(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.saveCronChanges(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def remCronbyLine(request):
try:
userID = request.session['userID']
result = pluginManager.preRemCronbyLine(request)
if result != 200:
return result
wm = WebsiteManager()
coreResult = wm.remCronbyLine(userID, json.loads(request.body))
result = pluginManager.postRemCronbyLine(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def addNewCron(request):
try:
userID = request.session['userID']
result = pluginManager.preAddNewCron(request)
if result != 200:
return result
wm = WebsiteManager()
coreResult = wm.addNewCron(userID, json.loads(request.body))
result = pluginManager.postAddNewCron(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def domainAlias(request, domain):
try:
userID = request.session['userID']
wm = WebsiteManager(domain)
return wm.domainAlias(request, userID)
except KeyError:
return redirect(loadLoginPage)
def submitAliasCreation(request):
try:
userID = request.session['userID']
result = pluginManager.preSubmitAliasCreation(request)
if result != 200:
return result
wm = WebsiteManager()
coreResult = wm.submitAliasCreation(userID, json.loads(request.body))
result = pluginManager.postSubmitAliasCreation(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def issueAliasSSL(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.issueAliasSSL(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def delateAlias(request):
try:
userID = request.session['userID']
result = pluginManager.preDelateAlias(request)
if result != 200:
return result
wm = WebsiteManager()
coreResult = wm.delateAlias(userID, json.loads(request.body))
result = pluginManager.postDelateAlias(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def changeOpenBasedir(request):
try:
userID = request.session['userID']
result = pluginManager.preChangeOpenBasedir(request)
if result != 200:
return result
wm = WebsiteManager()
coreResult = wm.changeOpenBasedir(userID, json.loads(request.body))
result = pluginManager.postChangeOpenBasedir(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def wordpressInstall(request, domain):
try:
userID = request.session['userID']
wm = WebsiteManager(domain)
return wm.wordpressInstall(request, userID)
except KeyError:
return redirect(loadLoginPage)
def installWordpress(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.installWordpress(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def installWordpressStatus(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.installWordpressStatus(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def joomlaInstall(request, domain):
try:
userID = request.session['userID']
wm = WebsiteManager(domain)
return wm.joomlaInstall(request, userID)
except KeyError:
return redirect(loadLoginPage)
def installJoomla(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.installJoomla(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def setupGit(request, domain):
try:
userID = request.session['userID']
wm = WebsiteManager(domain)
return wm.setupGit(request, userID)
except KeyError:
return redirect(loadLoginPage)
def setupGitRepo(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.setupGitRepo(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
@csrf_exempt
def gitNotify(request, domain):
try:
wm = WebsiteManager(domain)
return wm.gitNotify()
except KeyError:
return redirect(loadLoginPage)
def detachRepo(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.detachRepo(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def changeBranch(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.changeBranch(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def installPrestaShop(request, domain):
try:
userID = request.session['userID']
wm = WebsiteManager(domain)
return wm.installPrestaShop(request, userID)
except KeyError:
return redirect(loadLoginPage)
def prestaShopInstall(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.prestaShopInstall(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def sshAccess(request, domain):
try:
userID = request.session['userID']
wm = WebsiteManager(domain)
return wm.sshAccess(request, userID)
except KeyError:
return redirect(loadLoginPage)
def saveSSHAccessChanges(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.saveSSHAccessChanges(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def setupStaging(request, domain):
try:
userID = request.session['userID']
wm = WebsiteManager(domain)
return wm.setupStaging(request, userID)
except KeyError:
return redirect(loadLoginPage)
def startCloning(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.startCloning(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def syncToMaster(request, domain, childDomain):
try:
userID = request.session['userID']
wm = WebsiteManager(domain)
return wm.syncToMaster(request, userID, None, childDomain)
except KeyError:
return redirect(loadLoginPage)
def startSync(request):
try:
userID = request.session['userID']
wm = WebsiteManager()
return wm.startSync(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)