From 422b0d2b260e6c143835fd5cfa83741fae339c3b Mon Sep 17 00:00:00 2001 From: "usman@cyberpersons.com" Date: Mon, 3 Apr 2023 13:20:57 +0500 Subject: [PATCH] work on restore function --- IncBackups/static/IncBackups/IncBackups.js | 3 ++- IncBackups/views.py | 24 ++++++++++++++++++++++ plogical/Backupsv2.py | 5 ++--- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/IncBackups/static/IncBackups/IncBackups.js b/IncBackups/static/IncBackups/IncBackups.js index 232099135..ac9a2cd2c 100644 --- a/IncBackups/static/IncBackups/IncBackups.js +++ b/IncBackups/static/IncBackups/IncBackups.js @@ -1293,7 +1293,8 @@ app.controller('restorev2backupoage', function ($scope, $http, $timeout, $compil var url = "/IncrementalBackups/RestorePathV2"; var data = { snapshotid: SnapshotId, - path: Path + path: Path, + selwebsite: $scope.selwebsite } var config = { diff --git a/IncBackups/views.py b/IncBackups/views.py index 62c054566..c412e7962 100644 --- a/IncBackups/views.py +++ b/IncBackups/views.py @@ -842,6 +842,30 @@ def RestorePathV2(request): data = json.loads(request.body) SnapShotId = data['snapshotid'] Path = data['path'] + Selectedwebsite = data['selwebsite'] + + currentACL = ACLManager.loadedACL(userID) + admin = Administrator.objects.get(pk=userID) + + if ACLManager.checkOwnership(str(Selectedwebsite), admin, currentACL) == 1: + pass + else: + return ACLManager.loadError() + + # f'rustic -r testremote snapshots --password "" --json 2>/dev/null' + # final_json = json.dumps({'status': 0, 'fetchStatus': 1, 'error_message': Selectedrepo }) + # return HttpResponse(final_json) + + vm = CPBackupsV2({'domain': Selectedwebsite, 'BackendName': Selectedrepo, "function": ""}) + status, data = vm.FetchSnapShots() + + if status == 1: + final_json = json.dumps({'status': 1, 'fetchStatus': 1, 'error_message': "None", "data": data}) + return HttpResponse(final_json) + else: + # final_json = json.dumps({'status': 0, 'fetchStatus': 1, 'error_message': ac,}) + final_json = json.dumps({'status': 0, 'fetchStatus': 1, 'error_message': 'Cannot Find!', }) + return HttpResponse(final_json) final_dic = {'status': 1, 'SnapShotId': SnapShotId, 'Path': Path} final_json = json.dumps(final_dic) diff --git a/plogical/Backupsv2.py b/plogical/Backupsv2.py index 0a2341a94..ae02f6635 100644 --- a/plogical/Backupsv2.py +++ b/plogical/Backupsv2.py @@ -57,7 +57,6 @@ class CPBackupsV2(multi.Thread): self.snapshots = [] - ## self.StatusFile = f'/home/cyberpanel/{self.website.domain}_rustic_backup_log' @@ -1000,5 +999,5 @@ if __name__ == "__main__": #cpbuv2.BackupDataBases() except: - cpbuv2 = CPBackupsV2({'domain': 'cyberpanel.net', 'BasePath': '/home/backup', 'BackupDatabase': 1, 'BackupData': 1, 'BackupEmails': 1} ) - cpbuv2.InitiateBackup() \ No newline at end of file + cpbuv2 = CPBackupsV2({'function':'InitiateRestore', 'domain': 'cyberpanel.net', 'BasePath': '/home/backup', 'SnapShotID': 1, 'BackendName': 'usman'} ) + cpbuv2.InitiateRestore() \ No newline at end of file