mirror of
				https://github.com/usmannasir/cyberpanel.git
				synced 2025-10-31 10:26:01 +01:00 
			
		
		
		
	
		
			
	
	
		
			555 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			555 lines
		
	
	
		
			15 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|  | # -*- coding: utf-8 -*- | ||
|  | 
 | ||
|  | 
 | ||
|  | # Create your views here. | ||
|  | import json | ||
|  | 
 | ||
|  | from django.shortcuts import redirect | ||
|  | from django.http import HttpResponse | ||
|  | 
 | ||
|  | 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.views.decorators.csrf import csrf_exempt | ||
|  | from django.contrib.auth.models import User | ||
|  | from loginSystem.models import Administrator | ||
|  | 
 | ||
|  | 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 gDrive(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         bm = BackupManager() | ||
|  |         return bm.gDrive(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def gDriveSetup(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         wm = BackupManager() | ||
|  |         return wm.gDriveSetup(userID, request) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def fetchgDriveSites(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         wm = BackupManager() | ||
|  |         return wm.fetchgDriveSites(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def addSitegDrive(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         wm = BackupManager() | ||
|  |         return wm.addSitegDrive(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def deleteAccountgDrive(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         wm = BackupManager() | ||
|  |         return wm.deleteAccountgDrive(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def changeAccountFrequencygDrive(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         wm = BackupManager() | ||
|  |         return wm.changeAccountFrequencygDrive(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def changeFileRetention(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         wm = BackupManager() | ||
|  |         return wm.changeFileRetention(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def deleteSitegDrive(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         wm = BackupManager() | ||
|  |         return wm.deleteSitegDrive(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def fetchDriveLogs(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         wm = BackupManager() | ||
|  |         return wm.fetchDriveLogs(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) | ||
|  | 
 | ||
|  | def backupLogs(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         bm = BackupManager() | ||
|  |         return bm.backupLogs(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def fetchLogs(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  | 
 | ||
|  |         wm = BackupManager() | ||
|  |         return wm.fetchLogs(userID, json.loads(request.body)) | ||
|  | 
 | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | @csrf_exempt | ||
|  | def localInitiate(request): | ||
|  |     try: | ||
|  |         data = json.loads(request.body) | ||
|  |         randomFile = data['randomFile'] | ||
|  | 
 | ||
|  |         try: | ||
|  |             randInt = int(randomFile) | ||
|  |             pathToFile = "/home/cyberpanel/" + randomFile | ||
|  | 
 | ||
|  |             if os.path.exists(pathToFile): | ||
|  |                 wm = BackupManager() | ||
|  |                 return wm.submitBackupCreation(1, json.loads(request.body)) | ||
|  |         except: | ||
|  |             pass | ||
|  |     except BaseException as msg: | ||
|  |         logging.writeToFile(str(msg)) | ||
|  | 
 | ||
|  | def fetchgNormalSites(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         wm = BackupManager() | ||
|  |         return wm.fetchgNormalSites(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def fetchNormalJobs(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         wm = BackupManager() | ||
|  |         return wm.fetchNormalJobs(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def addSiteNormal(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         wm = BackupManager() | ||
|  |         return wm.addSiteNormal(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def deleteSiteNormal(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         wm = BackupManager() | ||
|  |         return wm.deleteSiteNormal(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def changeAccountFrequencyNormal(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         wm = BackupManager() | ||
|  |         return wm.changeAccountFrequencyNormal(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def deleteAccountNormal(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         wm = BackupManager() | ||
|  |         return wm.deleteAccountNormal(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def fetchNormalLogs(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         wm = BackupManager() | ||
|  |         return wm.fetchNormalLogs(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | 
 | ||
|  | def OneClickBackups(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         bm = BackupManager() | ||
|  |         return bm.OneClickBackups(request, userID) | ||
|  |     except KeyError: | ||
|  | 
 | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def ManageOCBackups(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         bm = BackupManager() | ||
|  |         return bm.ManageOCBackups(request, userID) | ||
|  |     except KeyError: | ||
|  | 
 | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def RestoreOCBackups(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         bm = BackupManager() | ||
|  |         return bm.RestoreOCBackups(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def fetchOCSites(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         bm = BackupManager() | ||
|  |         return bm.fetchOCSites(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def StartOCRestore(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         bm = BackupManager() | ||
|  |         return bm.StartOCRestore(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def DeployAccount(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         bm = BackupManager() | ||
|  |         return bm.DeployAccount(request, userID) | ||
|  |     except KeyError: | ||
|  |         return redirect(loadLoginPage) | ||
|  | 
 | ||
|  | def ReconfigureSubscription(request): | ||
|  |     try: | ||
|  |         userID = request.session['userID'] | ||
|  |         bm = BackupManager() | ||
|  |         data = json.loads(request.body) | ||
|  |         return bm.ReconfigureSubscription(request, userID, data) | ||
|  |     except BaseException as msg: | ||
|  |         data_ret = {'status': 0, 'error_message': str(msg)} | ||
|  |         json_data = json.dumps(data_ret) | ||
|  |         return HttpResponse(json_data) |