mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-08 06:16:08 +01:00
s3keysaved
This commit is contained in:
@@ -1961,9 +1961,11 @@ app.controller('RestoreWPBackup', function ($scope, $http, $timeout, $window) {
|
|||||||
function DeleteBackupConfigNow(url) {
|
function DeleteBackupConfigNow(url) {
|
||||||
window.location.href = url;
|
window.location.href = url;
|
||||||
}
|
}
|
||||||
|
|
||||||
function DeleteRemoteBackupsiteNow(url) {
|
function DeleteRemoteBackupsiteNow(url) {
|
||||||
window.location.href = url;
|
window.location.href = url;
|
||||||
}
|
}
|
||||||
|
|
||||||
function DeleteBackupfileConfigNow(url) {
|
function DeleteBackupfileConfigNow(url) {
|
||||||
window.location.href = url;
|
window.location.href = url;
|
||||||
}
|
}
|
||||||
@@ -1972,15 +1974,47 @@ function DeleteBackupfileConfigNow(url) {
|
|||||||
app.controller('RemoteBackupConfig', function ($scope, $http, $timeout, $window) {
|
app.controller('RemoteBackupConfig', function ($scope, $http, $timeout, $window) {
|
||||||
$scope.RemoteBackupLoading = true;
|
$scope.RemoteBackupLoading = true;
|
||||||
$scope.SFTPBackUpdiv = 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 () {
|
$scope.SelectRemoteBackuptype = function () {
|
||||||
var val = $scope.RemoteBackuptype;
|
var val = $scope.RemoteBackuptype;
|
||||||
if (val == "SFTP") {
|
if (val == "SFTP") {
|
||||||
$scope.SFTPBackUpdiv = false;
|
$scope.SFTPBackUpdiv = false;
|
||||||
$scope.S3backupdiv = true;
|
$scope.EndpointURLdiv = true;
|
||||||
} else {
|
$scope.Selectprovider = true;
|
||||||
$scope.S3backupdiv = false;
|
$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;
|
$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 Passwd = $scope.Password;
|
||||||
var path = $scope.path;
|
var path = $scope.path;
|
||||||
var type = $scope.RemoteBackuptype;
|
var type = $scope.RemoteBackuptype;
|
||||||
|
var Providervalue = $scope.Providervalue;
|
||||||
|
var data;
|
||||||
if (type == "SFTP") {
|
if (type == "SFTP") {
|
||||||
|
|
||||||
var data = {
|
data = {
|
||||||
Hname: Hname,
|
Hname: Hname,
|
||||||
Uname: Uname,
|
Uname: Uname,
|
||||||
Passwd: Passwd,
|
Passwd: Passwd,
|
||||||
path: path,
|
path: path,
|
||||||
type: type
|
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";
|
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,
|
FileRetention: FileRetention,
|
||||||
Backfrequency: Backfrequency,
|
Backfrequency: Backfrequency,
|
||||||
ScheduleName: $scope.ScheduleName,
|
ScheduleName: $scope.ScheduleName,
|
||||||
RemoteConfigID : $('#RemoteConfigID').html(),
|
RemoteConfigID: $('#RemoteConfigID').html(),
|
||||||
BackupType: $scope.BackupType
|
BackupType: $scope.BackupType
|
||||||
}
|
}
|
||||||
var url = "/websites/SaveBackupSchedule";
|
var url = "/websites/SaveBackupSchedule";
|
||||||
@@ -2111,8 +2167,6 @@ app.controller('BackupSchedule', function ($scope, $http, $timeout, $window) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$scope.getupdateid = function (ID) {
|
$scope.getupdateid = function (ID) {
|
||||||
UpdatescheduleID = ID;
|
UpdatescheduleID = ID;
|
||||||
}
|
}
|
||||||
@@ -2123,7 +2177,7 @@ app.controller('BackupSchedule', function ($scope, $http, $timeout, $window) {
|
|||||||
var fretention = $scope.RemoteFileretention;
|
var fretention = $scope.RemoteFileretention;
|
||||||
|
|
||||||
var data = {
|
var data = {
|
||||||
ScheduleID:UpdatescheduleID,
|
ScheduleID: UpdatescheduleID,
|
||||||
Frequency: Frequency,
|
Frequency: Frequency,
|
||||||
FileRetention: fretention
|
FileRetention: fretention
|
||||||
}
|
}
|
||||||
@@ -2174,10 +2228,9 @@ app.controller('BackupSchedule', function ($scope, $http, $timeout, $window) {
|
|||||||
$scope.RemoteBackupLoading = false;
|
$scope.RemoteBackupLoading = false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
var data = {
|
var data = {
|
||||||
WpsiteID: $('#Wpsite').val(),
|
WpsiteID: $('#Wpsite').val(),
|
||||||
RemoteScheduleID : $('#RemoteScheduleID').html()
|
RemoteScheduleID: $('#RemoteScheduleID').html()
|
||||||
}
|
}
|
||||||
var url = "/websites/AddWPsiteforRemoteBackup";
|
var url = "/websites/AddWPsiteforRemoteBackup";
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
<select ng-model="RemoteBackuptype" ng-change="SelectRemoteBackuptype()"
|
<select ng-model="RemoteBackuptype" ng-change="SelectRemoteBackuptype()"
|
||||||
class="form-control">
|
class="form-control">
|
||||||
<option>SFTP</option>
|
<option>SFTP</option>
|
||||||
|
<option>S3</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -68,8 +69,45 @@
|
|||||||
|
|
||||||
</div>
|
</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>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
@@ -93,18 +131,19 @@
|
|||||||
<tr>
|
<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;">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;">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>
|
<th style="padding: 18px; color: white; width: 161px; font-size: 12px;">Action</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
||||||
<tbody >
|
<tbody>
|
||||||
{% for sub in backupconfigs %}
|
{% for sub in backupconfigs %}
|
||||||
<tr>
|
<tr>
|
||||||
<td style="padding: 13px;">{{ sub.Type }}</td>
|
<td style="padding: 13px;">{{ sub.Type }}</td>
|
||||||
<td style="padding: 13px;">{{ sub.HostName }}</td>
|
<td style="padding: 13px;">{{ sub.HostName }}</td>
|
||||||
<td style="padding: 13px;">{{ sub.Path }}</td>
|
<td style="padding: 13px;">{{ sub.Path }}</td>
|
||||||
<td style="padding: 13px;"> <button
|
<td style="padding: 13px;">
|
||||||
|
<button
|
||||||
aria-label=""
|
aria-label=""
|
||||||
onclick="DeleteBackupConfigNow('{% url 'RemoteBackupConfig' %}?DeleteID={{ sub.id }}')"
|
onclick="DeleteBackupConfigNow('{% url 'RemoteBackupConfig' %}?DeleteID={{ sub.id }}')"
|
||||||
type="button" class="btn btn-border btn-alt border-red btn-link font-red">
|
type="button" class="btn btn-border btn-alt border-red btn-link font-red">
|
||||||
@@ -124,7 +163,6 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -222,12 +222,30 @@ class WebsiteManager:
|
|||||||
Data['backupconfigs'] =[]
|
Data['backupconfigs'] =[]
|
||||||
for i in allcon:
|
for i in allcon:
|
||||||
configr = json.loads(i.config)
|
configr = json.loads(i.config)
|
||||||
|
if i.configtype == "SFTP":
|
||||||
Data['backupconfigs'].append({
|
Data['backupconfigs'].append({
|
||||||
'id':i.pk,
|
'id': i.pk,
|
||||||
'Type': i.configtype,
|
'Type': i.configtype,
|
||||||
'HostName': configr['Hostname'],
|
'HostName': configr['Hostname'],
|
||||||
'Path': configr['Path']
|
'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',
|
proc = httpProc(request, 'websiteFunctions/RemoteBackupConfig.html',
|
||||||
Data, 'createWebsite')
|
Data, 'createWebsite')
|
||||||
return proc.render()
|
return proc.render()
|
||||||
@@ -1153,6 +1171,35 @@ class WebsiteManager:
|
|||||||
"Password": Passwd,
|
"Password": Passwd,
|
||||||
"Path": path
|
"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 = RemoteBackupConfig(owner=admin, configtype=ConfigType, config=json.dumps(config))
|
||||||
mkobj.save()
|
mkobj.save()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user