# -*- 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 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)