mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-07 22:06:05 +01:00
s3keysaved
This commit is contained in:
@@ -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";
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
|
||||
@@ -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()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user