Files
CyberPanel/backup/views.py
Usman Nasir 5e7aeeb597 p3
2019-12-10 15:09:10 +05:00

342 lines
9.3 KiB
Python
Executable File

# -*- coding: utf-8 -*-
# Create your views here.
import json
from django.shortcuts import redirect
from backup.backupManager import BackupManager
from backup.pluginManager import pluginManager
from loginSystem.views import loadLoginPage
import os
from plogical.CyberCPLogFileWriter import CyberCPLogFileWriter as logging
from django.shortcuts import HttpResponse
from django.views.decorators.csrf import csrf_exempt
def loadBackupHome(request):
try:
userID = request.session['userID']
bm = BackupManager()
return bm.loadBackupHome(request, userID)
except KeyError:
return redirect(loadLoginPage)
def backupSite(request):
try:
userID = request.session['userID']
bm = BackupManager()
return bm.backupSite(request, userID)
except KeyError:
return redirect(loadLoginPage)
def restoreSite(request):
try:
userID = request.session['userID']
bm = BackupManager()
return bm.restoreSite(request, userID)
except KeyError:
return redirect(loadLoginPage)
def getCurrentBackups(request):
try:
userID = request.session['userID']
wm = BackupManager()
return wm.getCurrentBackups(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def submitBackupCreation(request):
try:
userID = request.session['userID']
result = pluginManager.preSubmitBackupCreation(request)
if result != 200:
return result
wm = BackupManager()
coreResult = wm.submitBackupCreation(userID, json.loads(request.body))
return coreResult
except BaseException as msg:
logging.writeToFile(str(msg))
def backupStatus(request):
try:
userID = 1
wm = BackupManager()
return wm.backupStatus(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def cancelBackupCreation(request):
try:
userID = request.session['userID']
wm = BackupManager()
return wm.cancelBackupCreation(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def deleteBackup(request):
try:
userID = request.session['userID']
result = pluginManager.preDeleteBackup(request)
if result != 200:
return result
wm = BackupManager()
coreResult = wm.deleteBackup(userID, json.loads(request.body))
result = pluginManager.postDeleteBackup(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def submitRestore(request):
try:
userID = request.session['userID']
result = pluginManager.preSubmitRestore(request)
if result != 200:
return result
wm = BackupManager()
coreResult = wm.submitRestore(json.loads(request.body), userID)
return coreResult
except KeyError:
return redirect(loadLoginPage)
def restoreStatus(request):
try:
wm = BackupManager()
return wm.restoreStatus(json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def backupDestinations(request):
try:
userID = request.session['userID']
bm = BackupManager()
return bm.backupDestinations(request, userID)
except KeyError:
return redirect(loadLoginPage)
def submitDestinationCreation(request):
try:
userID = request.session['userID']
result = pluginManager.preSubmitDestinationCreation(request)
if result != 200:
return result
wm = BackupManager()
coreResult = wm.submitDestinationCreation(userID, json.loads(request.body))
result = pluginManager.postSubmitDestinationCreation(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def getCurrentBackupDestinations(request):
try:
userID = request.session['userID']
bm = BackupManager()
return bm.getCurrentBackupDestinations(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def getConnectionStatus(request):
try:
userID = request.session['userID']
bm = BackupManager()
return bm.getConnectionStatus(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def deleteDestination(request):
try:
userID = request.session['userID']
result = pluginManager.preDeleteDestination(request)
if result != 200:
return result
wm = BackupManager()
coreResult = wm.deleteDestination(userID, json.loads(request.body))
result = pluginManager.postDeleteDestination(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def scheduleBackup(request):
try:
userID = request.session['userID']
bm = BackupManager()
return bm.scheduleBackup(request, userID)
except KeyError:
return redirect(loadLoginPage)
def getCurrentBackupSchedules(request):
try:
userID = request.session['userID']
wm = BackupManager()
return wm.getCurrentBackupSchedules(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def submitBackupSchedule(request):
try:
userID = request.session['userID']
result = pluginManager.preSubmitBackupSchedule(request)
if result != 200:
return result
wm = BackupManager()
coreResult = wm.submitBackupSchedule(userID, json.loads(request.body))
result = pluginManager.postSubmitBackupSchedule(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def scheduleDelete(request):
try:
userID = request.session['userID']
result = pluginManager.preScheduleDelete(request)
if result != 200:
return result
wm = BackupManager()
coreResult = wm.scheduleDelete(userID, json.loads(request.body))
result = pluginManager.postScheduleDelete(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def remoteBackups(request):
try:
userID = request.session['userID']
bm = BackupManager()
return bm.remoteBackups(request, userID)
except KeyError:
return redirect(loadLoginPage)
def submitRemoteBackups(request):
try:
userID = request.session['userID']
result = pluginManager.preSubmitRemoteBackups(request)
if result != 200:
return result
wm = BackupManager()
coreResult = wm.submitRemoteBackups(userID, json.loads(request.body))
result = pluginManager.postSubmitRemoteBackups(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def starRemoteTransfer(request):
try:
userID = request.session['userID']
result = pluginManager.preStarRemoteTransfer(request)
if result != 200:
return result
wm = BackupManager()
coreResult = wm.starRemoteTransfer(userID, json.loads(request.body))
result = pluginManager.postStarRemoteTransfer(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def getRemoteTransferStatus(request):
try:
userID = request.session['userID']
wm = BackupManager()
return wm.getRemoteTransferStatus(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def remoteBackupRestore(request):
try:
userID = request.session['userID']
result = pluginManager.preRemoteBackupRestore(request)
if result != 200:
return result
wm = BackupManager()
coreResult = wm.remoteBackupRestore(userID, json.loads(request.body))
result = pluginManager.postRemoteBackupRestore(request, coreResult)
if result != 200:
return result
return coreResult
except KeyError:
return redirect(loadLoginPage)
def localRestoreStatus(request):
try:
userID = request.session['userID']
wm = BackupManager()
return wm.localRestoreStatus(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
def cancelRemoteBackup(request):
try:
userID = request.session['userID']
wm = BackupManager()
return wm.cancelRemoteBackup(userID, json.loads(request.body))
except KeyError:
return redirect(loadLoginPage)
@csrf_exempt
def localInitiate(request):
try:
data = json.loads(request.body)
randomFile = data['randomFile']
if os.path.exists(randomFile):
wm = BackupManager()
return wm.submitBackupCreation(1, json.loads(request.body))
except BaseException as msg:
logging.writeToFile(str(msg))