s3keysaved

This commit is contained in:
Hassan Hashmi
2022-06-29 15:41:05 +05:00
parent 12ecf2dd24
commit aa24855963
3 changed files with 220 additions and 82 deletions

View File

@@ -1961,9 +1961,11 @@ app.controller('RestoreWPBackup', function ($scope, $http, $timeout, $window) {
function DeleteBackupConfigNow(url) {
window.location.href = url;
}
function DeleteRemoteBackupsiteNow(url) {
window.location.href = url;
}
function DeleteBackupfileConfigNow(url) {
window.location.href = url;
}
@@ -1972,15 +1974,47 @@ function DeleteBackupfileConfigNow(url) {
app.controller('RemoteBackupConfig', function ($scope, $http, $timeout, $window) {
$scope.RemoteBackupLoading = true;
$scope.SFTPBackUpdiv = true;
$scope.S3backupdiv = true;
$scope.EndpointURLdiv = true;
$scope.Selectprovider = true;
$scope.S3keyNamediv = true;
$scope.Accesskeydiv = true;
$scope.SecretKeydiv = true;
$scope.SelectRemoteBackuptype = function () {
var val = $scope.RemoteBackuptype;
if (val == "SFTP") {
$scope.SFTPBackUpdiv = false;
$scope.S3backupdiv = true;
} else {
$scope.S3backupdiv = false;
$scope.EndpointURLdiv = true;
$scope.Selectprovider = true;
$scope.S3keyNamediv = true;
$scope.Accesskeydiv = true;
$scope.SecretKeydiv = true;
} else if (val == "S3") {
$scope.EndpointURLdiv = true;
$scope.Selectprovider = false;
$scope.S3keyNamediv = false;
$scope.Accesskeydiv = false;
$scope.SecretKeydiv = false;
$scope.SFTPBackUpdiv = true;
} else {
$scope.RemoteBackupLoading = true;
$scope.SFTPBackUpdiv = true;
$scope.EndpointURLdiv = true;
$scope.Selectprovider = true;
$scope.S3keyNamediv = true;
$scope.Accesskeydiv = true;
$scope.SecretKeydiv = true;
}
}
$scope.SelectProvidertype = function () {
$scope.EndpointURLdiv = true;
var provider = $scope.Providervalue
if (provider == 'Backblaze') {
$scope.EndpointURLdiv = false;
} else {
$scope.EndpointURLdiv = true;
}
}
@@ -1991,16 +2025,39 @@ app.controller('RemoteBackupConfig', function ($scope, $http, $timeout, $window)
var Passwd = $scope.Password;
var path = $scope.path;
var type = $scope.RemoteBackuptype;
var Providervalue = $scope.Providervalue;
var data;
if (type == "SFTP") {
var data = {
data = {
Hname: Hname,
Uname: Uname,
Passwd: Passwd,
path: path,
type: type
}
} else if (type == "S3") {
if (Providervalue == "Backblaze") {
data = {
S3keyname: $scope.S3keyName,
Provider: Providervalue,
AccessKey: $scope.Accesskey,
SecertKey: $scope.SecretKey,
EndUrl: $scope.EndpointURL,
type: type
}
} else {
data = {
S3keyname: $scope.S3keyName,
Provider: Providervalue,
AccessKey: $scope.Accesskey,
SecertKey: $scope.SecretKey,
type: type
}
}
}
var url = "/websites/SaveBackupConfig";
@@ -2042,7 +2099,6 @@ app.controller('RemoteBackupConfig', function ($scope, $http, $timeout, $window)
}
}
}
@@ -2062,7 +2118,7 @@ app.controller('BackupSchedule', function ($scope, $http, $timeout, $window) {
FileRetention: FileRetention,
Backfrequency: Backfrequency,
ScheduleName: $scope.ScheduleName,
RemoteConfigID : $('#RemoteConfigID').html(),
RemoteConfigID: $('#RemoteConfigID').html(),
BackupType: $scope.BackupType
}
var url = "/websites/SaveBackupSchedule";
@@ -2111,8 +2167,6 @@ app.controller('BackupSchedule', function ($scope, $http, $timeout, $window) {
};
$scope.getupdateid = function (ID) {
UpdatescheduleID = ID;
}
@@ -2123,7 +2177,7 @@ app.controller('BackupSchedule', function ($scope, $http, $timeout, $window) {
var fretention = $scope.RemoteFileretention;
var data = {
ScheduleID:UpdatescheduleID,
ScheduleID: UpdatescheduleID,
Frequency: Frequency,
FileRetention: fretention
}
@@ -2174,10 +2228,9 @@ app.controller('BackupSchedule', function ($scope, $http, $timeout, $window) {
$scope.RemoteBackupLoading = false;
var data = {
WpsiteID: $('#Wpsite').val(),
RemoteScheduleID : $('#RemoteScheduleID').html()
RemoteScheduleID: $('#RemoteScheduleID').html()
}
var url = "/websites/AddWPsiteforRemoteBackup";

View File

@@ -30,6 +30,7 @@
<select ng-model="RemoteBackuptype" ng-change="SelectRemoteBackuptype()"
class="form-control">
<option>SFTP</option>
<option>S3</option>
</select>
</div>
</div>
@@ -68,8 +69,45 @@
</div>
<div ng-hide="S3backupdiv">
<span>S3 BAckups</span>
<div ng-hide="Selectprovider" class="form-group">
<label class="col-sm-3 control-label">{% trans "Choose Provider" %}</label>
<div class="col-sm-6">
<select ng-model="Providervalue" ng-change="SelectProvidertype()"
class="form-control">
<option selected="selected">Amazon</option>
<option>Wasabi</option>
<option>Backblaze</option>
</select>
</div>
</div>
<div ng-hide="S3keyNamediv" class="form-group">
<label class="col-sm-3 control-label">{% trans "Name" %}</label>
<div class="col-sm-6">
<input name="S3keyName" type="text" class="form-control" ng-model="S3keyName"
required>
</div>
</div>
<div ng-hide="EndpointURLdiv" class="form-group">
<label class="col-sm-3 control-label">{% trans "Endpoint URL" %}</label>
<div class="col-sm-6">
<input name="EndpointURL" type="text" class="form-control" ng-model="EndpointURL"
required>
</div>
</div>
<div ng-hide="Accesskeydiv" class="form-group">
<label class="col-sm-3 control-label">{% trans "Access Key" %}</label>
<div class="col-sm-6">
<input name="Accesskey" type="text" class="form-control" ng-model="Accesskey"
required>
</div>
</div>
<div ng-hide="SecretKeydiv" class="form-group">
<label class="col-sm-3 control-label">{% trans "Secret Key" %}</label>
<div class="col-sm-6">
<input name="SecretKey" type="text" class="form-control" ng-model="SecretKey"
required>
</div>
</div>
@@ -93,18 +131,19 @@
<tr>
<th style="padding: 18px; color: white; width: 161px; font-size: 12px;">Backup Type</th>
<th style="padding: 18px; color: white; width: 161px; font-size: 12px;">HostName</th>
<th style="padding: 18px; color: white; width: 161px; font-size: 12px;">Path</th>
<th style="padding: 18px; color: white; width: 161px; font-size: 12px;">Path / Key Name</th>
<th style="padding: 18px; color: white; width: 161px; font-size: 12px;">Action</th>
</tr>
</thead>
<tbody >
<tbody>
{% for sub in backupconfigs %}
<tr>
<td style="padding: 13px;">{{ sub.Type }}</td>
<td style="padding: 13px;">{{ sub.HostName }}</td>
<td style="padding: 13px;">{{ sub.Path }}</td>
<td style="padding: 13px;"> <button
<td style="padding: 13px;">
<button
aria-label=""
onclick="DeleteBackupConfigNow('{% url 'RemoteBackupConfig' %}?DeleteID={{ sub.id }}')"
type="button" class="btn btn-border btn-alt border-red btn-link font-red">
@@ -124,7 +163,6 @@
</div>
</div>

View File

@@ -222,12 +222,30 @@ class WebsiteManager:
Data['backupconfigs'] =[]
for i in allcon:
configr = json.loads(i.config)
if i.configtype == "SFTP":
Data['backupconfigs'].append({
'id':i.pk,
'id': i.pk,
'Type': i.configtype,
'HostName': configr['Hostname'],
'Path': configr['Path']
})
elif i.configtype == "S3":
Provider = configr['Provider']
if Provider == "Backblaze":
Data['backupconfigs'].append({
'id': i.pk,
'Type': i.configtype,
'HostName': Provider,
'Path': configr['S3keyname']
})
else:
Data['backupconfigs'].append({
'id': i.pk,
'Type': i.configtype,
'HostName': Provider,
'Path': configr['S3keyname']
})
proc = httpProc(request, 'websiteFunctions/RemoteBackupConfig.html',
Data, 'createWebsite')
return proc.render()
@@ -1153,6 +1171,35 @@ class WebsiteManager:
"Password": Passwd,
"Path": path
}
elif ConfigType == "S3":
Provider = data['Provider']
if Provider == "Backblaze":
S3keyname = data['S3keyname']
SecertKey = data['SecertKey']
AccessKey = data['AccessKey']
EndUrl = data['EndUrl']
config = {
"Provider": Provider,
"S3keyname": S3keyname,
"SecertKey": SecertKey,
"AccessKey": AccessKey,
"EndUrl": EndUrl
}
else:
S3keyname = data['S3keyname']
SecertKey = data['SecertKey']
AccessKey = data['AccessKey']
config = {
"Provider": Provider,
"S3keyname": S3keyname,
"SecertKey": SecertKey,
"AccessKey": AccessKey,
}
mkobj = RemoteBackupConfig(owner=admin, configtype=ConfigType, config=json.dumps(config))
mkobj.save()