Files
CyberPanel/static/backup/backup.js
usmannasir 0f7ab39b37 Merge branch 'master' of github.com:litespeedtech/cyberpanel
Add Firewall rules by IP, Bug Fixes: SSL, Remote Backups, Error Logs.
2017-11-02 02:23:09 +05:00

1623 lines
46 KiB
JavaScript

/**
* Created by usman on 9/17/17.
*/
//*** Backup site ****//
app.controller('backupWebsiteControl', function($scope,$http,$timeout) {
// variable to stop updating running status data
var runningStatus = 1;
$scope.destination = true;
$scope.backupButton = true;
$scope.backupLoading = true;
$scope.runningBackup = true;
$scope.cancelButton = true;
populateCurrentRecords();
$scope.cancelBackup = function () {
var backupCancellationDomain = $scope.websiteToBeBacked;
url = "/backup/cancelBackupCreation";
var data = {
backupCancellationDomain:backupCancellationDomain,
fileName:$scope.fileName,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
};
$scope.fetchDetails = function () {
getBackupStatus();
populateCurrentRecords();
$scope.destination = false;
};
function getBackupStatus(){
$scope.backupLoadingBottom = false;
var websiteToBeBacked = $scope.websiteToBeBacked;
url = "/backup/backupStatus";
var data = {
websiteToBeBacked:websiteToBeBacked,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.backupStatus == 1){
if(response.data.status != 0){
if (runningStatus == 1){
$scope.destination = true;
$scope.backupButton = true;
$scope.runningBackup = false;
$scope.cancelButton = false;
$scope.fileName = response.data.fileName;
$scope.status = response.data.status;
$timeout(getBackupStatus, 2000);
console.log(response.data.fileName);
}
}
else if(response.data.status === "Aborted, please check CyberPanel main log file." || response.data.status === "Aborted manually."){
runningStatus = 0;
$timeout.cancel();
populateCurrentRecords();
$scope.backupLoadingBottom = true;
$scope.destination = false;
$scope.runningBackup = false;
$scope.cancelButton = true;
$scope.backupButton = false;
$scope.backupLoading = true;
$scope.fileName = response.data.fileName;
$scope.status = response.data.status;
}
else{
$scope.destination = false;
$scope.runningBackup = true;
$scope.cancelButton = true;
$scope.backupLoading = true;
$timeout.cancel();
populateCurrentRecords();
}
}
else{
$timeout.cancel();
$scope.backupLoadingBottom = true;
$scope.backupLoading = true;
$scope.cancelButton = true;
$scope.backupButton = false;
}
}
function cantLoadInitialDatas(response) {
}
};
$scope.destinationSelection = function () {
$scope.backupButton = false;
};
function populateCurrentRecords(){
var websiteToBeBacked = $scope.websiteToBeBacked;
url = "/backup/getCurrentBackups";
var data = {
websiteToBeBacked:websiteToBeBacked,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.fetchStatus == 1){
$scope.records = JSON.parse(response.data.data);
}
else{
}
}
function cantLoadInitialDatas(response) {
}
};
$scope.createBackup = function(){
var websiteToBeBacked = $scope.websiteToBeBacked;
$scope.backupLoading = false;
url = "/backup/submitBackupCreation";
var data = {
websiteToBeBacked:websiteToBeBacked,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.metaStatus == 1){
console.log("meta generated")
getBackupStatus();
}
else{
}
}
function cantLoadInitialDatas(response) {
}
};
$scope.deleteBackup = function (id) {
url = "/backup/deleteBackup";
var data = {
backupID:id,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.deleteStatus == 1){
populateCurrentRecords();
}
else{
}
}
function cantLoadInitialDatas(response) {
}
};
});
///** Backup site ends **///
///** Restore site ***//
app.controller('restoreWebsiteControl', function($scope,$http,$timeout) {
$scope.restoreLoading = true;
$scope.runningRestore = true;
$scope.restoreButton=true;
$scope.restoreFinished = false;
$scope.couldNotConnect = true;
$scope.backupError = true;
$scope.siteExists = true;
$scope.fetchDetails = function () {
$scope.restoreLoading = false;
getRestoreStatus();
};
function getRestoreStatus(){
$scope.restoreButton = true;
var backupFile = $scope.backupFile;
url = "/backup/restoreStatus";
var data = {
backupFile:backupFile,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.restoreStatus == 1){
$scope.restoreLoading = true;
if(response.data.status=="Done"){
$scope.restoreButton=false;
$scope.status = response.data.status;
$scope.restoreFinished = true;
$scope.running = "Completed";
$scope.restoreLoading = true;
$timeout.cancel();
}
else if(response.data.status=="Website already exists"){
$scope.siteExists = false;
$scope.restoreButton = true;
$scope.runningRestore = true;
$scope.restoreLoading = true;
$scope.running = "Running";
$scope.fileName = $scope.backupFile;
$timeout.cancel();
}
else if(response.data.status==0){
$scope.running = "Running";
$scope.fileName = $scope.backupFile;
$scope.restoreButton=false;
$scope.restoreLoading = true;
$timeout.cancel();
}
else if(response.data.status == "Not able to create Account and databases, aborting."){
$scope.running = "Aborted";
$scope.fileName = $scope.backupFile;
$scope.restoreLoading = true;
$scope.status = response.data.status;
$scope.runningRestore = false;
$scope.restoreButton=false;
$scope.restoreFinished = true;
$timeout.cancel();
}
else if(response.data.status != 0){
$scope.running = "Running";
$scope.fileName = $scope.backupFile;
$scope.restoreLoading = false;
$scope.status = response.data.status;
$scope.runningRestore = false;
$timeout(getRestoreStatus, 2000);
}
}
else{
}
}
function cantLoadInitialDatas(response) {
$scope.couldNotConnect = false;
}
};
$scope.restoreBackup = function(){
var backupFile = $scope.backupFile;
url = "/backup/submitRestore";
var data = {
backupFile:backupFile,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
$scope.restoreLoading = true;
if(response.data.restoreStatus == 1){
$scope.runningRestore = false;
$scope.running = "Running";
$scope.fileName = $scope.backupFile;
$scope.status = "Just Started..";
getRestoreStatus();
}
else{
$scope.backupError = false;
$scope.errorMessage = response.data.error_message;
}
}
function cantLoadInitialDatas(response) {
$scope.couldNotConnect = false;
}
};
function createWebsite(){
var backupFile = $scope.backupFile;
url = "/websites/CreateWebsiteFromBackup";
var data = {
backupFile:backupFile,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.createWebSiteStatus == 1){
getRestoreStatus();
}
else if(response.data.existsStatus == 1){
$scope.backupError = false;
$scope.errorMessage = response.data.error_message;
$scope.restoreButton = true;
$scope.runningRestore = true;
}
else{
$scope.websiteDomain = domainName;
$scope.backupError = false;
$scope.errorMessage = response.data.error_message;
}
}
function cantLoadInitialDatas(response) {
$scope.couldNotConnect = false;
}
};
});
//*** Resotre site ends here ***///
///** Backup Destination ***//
app.controller('backupDestinations', function($scope,$http,$timeout) {
$scope.destinationLoading = true;
$scope.connectionFailed = true;
$scope.connectionSuccess = true;
$scope.canNotAddDestination = true;
$scope.destinationAdded = true;
$scope.couldNotConnect = true;
populateCurrentRecords();
$scope.addDestination = function () {
$scope.destinationLoading = false;
$scope.connectionFailed = true;
$scope.connectionSuccess = true;
$scope.canNotAddDestination = true;
$scope.destinationAdded = true;
$scope.couldNotConnect = true;
url = "/backup/submitDestinationCreation";
var data = {
IPAddress : $scope.IPAddress,
password : $scope.password,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.destStatus == 1){
$scope.destinationLoading = true;
$scope.connectionFailed = true;
$scope.connectionSuccess = true;
$scope.canNotAddDestination = true;
$scope.destinationAdded = false;
$scope.couldNotConnect = true;
populateCurrentRecords();
}
else {
$scope.destinationLoading = true;
$scope.connectionFailed = true;
$scope.connectionSuccess = true;
$scope.canNotAddDestination = false;
$scope.destinationAdded = true;
$scope.couldNotConnect = true;
$scope.errorMessage = response.data.error_message;
}
}
function cantLoadInitialDatas(response) {
$scope.destinationLoading = true;
$scope.connectionFailed = true;
$scope.connectionSuccess = true;
$scope.canNotAddDestination = true;
$scope.destinationAdded = true;
$scope.couldNotConnect = false;
}
};
$scope.checkConn = function (ip) {
$scope.destinationLoading = false;
$scope.connectionFailed = true;
$scope.connectionSuccess = true;
$scope.canNotAddDestination = true;
$scope.destinationAdded = true;
$scope.couldNotConnect = true;
url = "/backup/getConnectionStatus";
var data = {
IPAddress : ip,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.connStatus == 1){
$scope.destinationLoading = true;
$scope.connectionFailed = true;
$scope.connectionSuccess = false;
$scope.canNotAddDestination = true;
$scope.destinationAdded = true;
$scope.couldNotConnect = true;
$scope.IPAddress = ip;
}
else {
$scope.destinationLoading = true;
$scope.connectionFailed = false;
$scope.connectionSuccess = true;
$scope.canNotAddDestination = true;
$scope.destinationAdded = true;
$scope.couldNotConnect = true;
$scope.errorMessage = response.data.error_message;
$scope.IPAddress = ip;
}
}
function cantLoadInitialDatas(response) {
$scope.destinationLoading = true;
$scope.connectionFailed = true;
$scope.connectionSuccess = true;
$scope.canNotAddDestination = true;
$scope.destinationAdded = true;
$scope.couldNotConnect = false;
}
};
$scope.delDest = function (ip) {
$scope.destinationLoading = false;
$scope.connectionFailed = true;
$scope.connectionSuccess = true;
$scope.canNotAddDestination = true;
$scope.destinationAdded = true;
$scope.couldNotConnect = true;
url = "/backup/deleteDestination";
var data = {
IPAddress : ip,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.delStatus == 1){
$scope.destinationLoading = true;
$scope.connectionFailed = true;
$scope.connectionSuccess = true;
$scope.canNotAddDestination = true;
$scope.destinationAdded = true;
$scope.couldNotConnect = true;
populateCurrentRecords();
$scope.IPAddress = ip;
}
else {
$scope.destinationLoading = true;
$scope.connectionFailed = true;
$scope.connectionSuccess = true;
$scope.canNotAddDestination = true;
$scope.destinationAdded = true;
$scope.couldNotConnect = true;
$scope.errorMessage = response.data.error_message;
$scope.IPAddress = ip;
}
}
function cantLoadInitialDatas(response) {
$scope.destinationLoading = true;
$scope.connectionFailed = true;
$scope.connectionSuccess = true;
$scope.canNotAddDestination = true;
$scope.destinationAdded = true;
$scope.couldNotConnect = false;
}
};
function populateCurrentRecords(){
url = "/backup/getCurrentBackupDestinations";
var data = {
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.fetchStatus == 1){
$scope.records = JSON.parse(response.data.data);
}
}
function cantLoadInitialDatas(response) {
$scope.couldNotConnect = false;
}
};
});
//*** Backup destination ***///
///** Schedule Backup ***//
app.controller('scheduleBackup', function($scope,$http,$timeout) {
$scope.scheduleBackupLoading = true;
$scope.canNotAddSchedule = true;
$scope.scheduleAdded = true;
$scope.couldNotConnect = true;
$scope.scheduleFreq = true;
$scope.scheduleBtn = true;
populateCurrentRecords();
$scope.scheduleFreqView = function () {
$scope.scheduleBackupLoading = true;
$scope.canNotAddSchedule = true;
$scope.scheduleAdded = true;
$scope.couldNotConnect = true;
$scope.scheduleFreq = false;
$scope.scheduleBtn = true;
};
$scope.scheduleBtnView = function () {
$scope.scheduleBackupLoading = true;
$scope.canNotAddSchedule = true;
$scope.scheduleAdded = true;
$scope.couldNotConnect = true;
$scope.scheduleFreq = false;
$scope.scheduleBtn = false;
};
$scope.addSchedule = function () {
$scope.scheduleBackupLoading = false;
$scope.canNotAddSchedule = true;
$scope.scheduleAdded = true;
$scope.couldNotConnect = true;
$scope.scheduleFreq = false;
$scope.scheduleBtn = false;
url = "/backup/submitBackupSchedule";
var data = {
backupDest : $scope.backupDest,
backupFreq : $scope.backupFreq,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.scheduleStatus == 1){
$scope.scheduleBackupLoading = true;
$scope.canNotAddSchedule = true;
$scope.scheduleAdded = false;
$scope.couldNotConnect = true;
$scope.scheduleFreq = true;
$scope.scheduleBtn = true;
populateCurrentRecords();
}
else {
$scope.scheduleBackupLoading = true;
$scope.canNotAddSchedule = false;
$scope.scheduleAdded = true;
$scope.couldNotConnect = true;
$scope.scheduleFreq = false;
$scope.scheduleBtn = false;
$scope.errorMessage = response.data.error_message;
}
}
function cantLoadInitialDatas(response) {
$scope.scheduleBackupLoading = true;
$scope.canNotAddSchedule = true;
$scope.scheduleAdded = true;
$scope.couldNotConnect = false;
$scope.scheduleFreq = false;
$scope.scheduleBtn = false;
}
};
$scope.checkConn = function (ip) {
$scope.destinationLoading = false;
$scope.connectionFailed = true;
$scope.connectionSuccess = true;
$scope.canNotAddDestination = true;
$scope.destinationAdded = true;
$scope.couldNotConnect = true;
url = "/backup/getConnectionStatus";
var data = {
IPAddress : ip,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.connStatus == 1){
$scope.destinationLoading = true;
$scope.connectionFailed = true;
$scope.connectionSuccess = false;
$scope.canNotAddDestination = true;
$scope.destinationAdded = true;
$scope.couldNotConnect = true;
$scope.IPAddress = ip;
}
else {
$scope.destinationLoading = true;
$scope.connectionFailed = false;
$scope.connectionSuccess = true;
$scope.canNotAddDestination = true;
$scope.destinationAdded = true;
$scope.couldNotConnect = true;
$scope.errorMessage = response.data.error_message;
$scope.IPAddress = ip;
}
}
function cantLoadInitialDatas(response) {
$scope.destinationLoading = true;
$scope.connectionFailed = true;
$scope.connectionSuccess = true;
$scope.canNotAddDestination = true;
$scope.destinationAdded = true;
$scope.couldNotConnect = false;
}
};
$scope.delSchedule = function (destLoc,frequency) {
$scope.scheduleBackupLoading = false;
$scope.canNotAddSchedule = true;
$scope.scheduleAdded = true;
$scope.couldNotConnect = true;
$scope.scheduleFreq = true;
$scope.scheduleBtn = true;
url = "/backup/scheduleDelete";
var data = {
destLoc : destLoc,
frequency: frequency,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.delStatus == 1){
$scope.scheduleBackupLoading = true;
$scope.canNotAddSchedule = true;
$scope.scheduleAdded = true;
$scope.couldNotConnect = true;
$scope.scheduleFreq = true;
$scope.scheduleBtn = true;
populateCurrentRecords();
}
else {
$scope.scheduleBackupLoading = true;
$scope.canNotAddSchedule = true;
$scope.scheduleAdded = true;
$scope.couldNotConnect = true;
$scope.scheduleFreq = true;
$scope.scheduleBtn = true;
$scope.errorMessage = response.data.error_message;
}
}
function cantLoadInitialDatas(response) {
$scope.scheduleBackupLoading = true;
$scope.canNotAddSchedule = true;
$scope.scheduleAdded = true;
$scope.couldNotConnect = false;
$scope.scheduleFreq = true;
$scope.scheduleBtn = true;
}
};
function populateCurrentRecords(){
url = "/backup/getCurrentBackupSchedules";
var data = {
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.fetchStatus == 1){
$scope.records = JSON.parse(response.data.data);
}
}
function cantLoadInitialDatas(response) {
$scope.couldNotConnect = false;
}
};
});
//*** Schedule Backup ***///
//*** Remote Backup site ****//
app.controller('remoteBackupControl', function($scope, $http, $timeout) {
$scope.backupButton = true;
$scope.backupLoading = true;
$scope.request = true;
$scope.requestData = "";
$scope.submitDisable = false;
$scope.startRestore = true;
$scope.accountsInRemoteServerTable = true;
$scope.transferBoxBtn = true;
$scope.stopTransferbtn = true;
$scope.fetchAccountsBtn = false;
// notifications boxes
$scope.notificationsBox = true;
$scope.errorMessage = true;
$scope.couldNotConnect = true;
$scope.accountsFetched = true;
$scope.backupProcessStarted = true;
$scope.backupCancelled = true;
// status box
$scope.backupStatus = true;
var websitesToBeBacked = [];
var websitesToBeBackedTemp = [];
var index = 0;
var tempTransferDir = "";
$scope.passwordEnter = function() {
$scope.backupButton = false;
};
$scope.addRemoveWebsite = function (website,websiteStatus) {
if(websiteStatus==true)
{
var check = 1;
for(var j = 0; j < websitesToBeBacked.length; j++){
if (websitesToBeBacked[j] == website){
check = 0;
break;
}
}
if(check == 1) {
websitesToBeBacked.push(website);
}
}
else{
var tempArray = [];
for(var j = 0; j < websitesToBeBacked.length; j++){
if (websitesToBeBacked[j] != website){
tempArray.push(websitesToBeBacked[j]);
}
}
websitesToBeBacked = tempArray;
}
};
$scope.allChecked = function (webSiteStatus) {
if(webSiteStatus==true) {
websitesToBeBacked = websitesToBeBackedTemp;
$scope.webSiteStatus = true;
}
else{
websitesToBeBacked = [];
$scope.webSiteStatus = false;
}
};
$scope.fetchAccountsFromRemoteServer = function () {
$scope.backupLoading = false;
// notifications boxes
$scope.notificationsBox = true;
$scope.errorMessage = true;
$scope.couldNotConnect = true;
$scope.accountsFetched = true;
$scope.backupProcessStarted = true;
$scope.backupCancelled = true;
var IPAddress = $scope.IPAddress;
var password = $scope.password;
url = "/backup/submitRemoteBackups";
var data = {
ipAddress: IPAddress,
password: password,
};
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if (response.data.status == 1) {
$scope.records = JSON.parse(response.data.data);
var parsed = JSON.parse(response.data.data);
for(var j = 0; j < parsed.length; j++){
websitesToBeBackedTemp.push(parsed[j].website);
}
$scope.accountsInRemoteServerTable = false;
$scope.backupLoading = true;
// enable the transfer/cancel btn
$scope.transferBoxBtn = false;
// notifications boxes
$scope.notificationsBox = false;
$scope.errorMessage = true;
$scope.couldNotConnect = true;
$scope.accountsFetched = false;
$scope.backupProcessStarted = true;
$scope.backupCancelled = true;
}
else {
$scope.error_message = response.data.error_message;
$scope.backupLoading = true;
// notifications boxes
$scope.notificationsBox = false;
$scope.errorMessage = false;
$scope.couldNotConnect = true;
$scope.accountsFetched = true;
$scope.backupProcessStarted = true;
$scope.backupCancelled = true;
}
}
function cantLoadInitialDatas(response) {
// notifications boxes
$scope.notificationsBox = false;
$scope.errorMessage = true;
$scope.couldNotConnect = false;
$scope.accountsFetched = true;
$scope.backupProcessStarted = true;
$scope.backupCancelled = true;
}
};
$scope.startTransfer = function () {
// notifications boxes
$scope.notificationsBox = true;
$scope.errorMessage = true;
$scope.couldNotConnect = true;
$scope.accountsFetched = true;
$scope.backupProcessStarted = true;
$scope.backupCancelled = true;
if(websitesToBeBacked.length === 0){
alert("No websites selected for transfer.")
return;
}
// disable fetch accounts button
$scope.fetchAccountsBtn = true;
$scope.backupLoading = false;
var IPAddress = $scope.IPAddress;
var password = $scope.password;
url = "/backup/starRemoteTransfer";
var data = {
ipAddress: IPAddress,
password: password,
accountsToTransfer:websitesToBeBacked,
};
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if (response.data.remoteTransferStatus == 1) {
tempTransferDir = response.data.dir;
$scope.accountsInRemoteServerTable = true;
// notifications boxes
$scope.notificationsBox = false;
$scope.errorMessage = true;
$scope.couldNotConnect = true;
$scope.accountsFetched = true;
$scope.backupProcessStarted = false;
$scope.backupCancelled = true;
// disable transfer button
$scope.startTransferbtn = true;
// enable cancel button
$scope.stopTransferbtn = false;
getBackupStatus();
}
else {
$scope.error_message = response.data.error_message;
$scope.backupLoading = true;
// Notifications box settings
// notifications boxes
$scope.notificationsBox = false;
$scope.errorMessage = false;
$scope.couldNotConnect = true;
$scope.accountsFetched = true;
$scope.backupProcessStarted = true;
$scope.backupCancelled = true;
}
}
function cantLoadInitialDatas(response) {
// Notifications box settings
// notifications boxes
$scope.notificationsBox = false;
$scope.errorMessage = true;
$scope.couldNotConnect = false;
$scope.accountsFetched = true;
$scope.backupProcessStarted = true;
$scope.backupCancelled = true;
}
};
function getBackupStatus(password) {
url = "/backup/getRemoteTransferStatus";
var data = {
password : $scope.password,
ipAddress: $scope.IPAddress,
dir: tempTransferDir,
};
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if (response.data.remoteTransferStatus == 1) {
if(response.data.backupsSent == 0){
$scope.backupStatus = false;
$scope.requestData = response.data.status;
$timeout(getBackupStatus, 2000);
}
else{
$scope.requestData = response.data.status;
$timeout.cancel();
$scope.backupLoading = true;
remoteBackupRestore();
}
}
else{
$scope.error_message = response.data.error_message;
$scope.backupLoading = true;
$scope.couldNotConnect = true;
// Notifications box settings
$scope.couldNotConnect = true;
$scope.errorMessage = false;
$scope.accountsFetched = true;
$scope.notificationsBox = false;
$timeout.cancel();
}
}
function cantLoadInitialDatas(response) {
// Notifications box settings
$scope.couldNotConnect = false;
$scope.errorMessage = true;
$scope.accountsFetched = true;
$scope.notificationsBox = false;
}
};
function remoteBackupRestore(){
url = "/backup/remoteBackupRestore";
var data = {
backupDir: tempTransferDir,
};
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if (response.data.remoteRestoreStatus == 1) {
localRestoreStatus();
}
}
function cantLoadInitialDatas(response) {
// Notifications box settings
$scope.couldNotConnect = false;
$scope.errorMessage = true;
$scope.accountsFetched = true;
$scope.notificationsBox = false;
}
///////////////
};
function localRestoreStatus(password) {
url = "/backup/localRestoreStatus";
var data = {
backupDir: tempTransferDir,
};
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if (response.data.remoteTransferStatus == 1) {
if(response.data.complete == 0){
$scope.backupStatus = false;
$scope.requestData = response.data.status;
$timeout(localRestoreStatus, 2000);
}
else{
$scope.requestData = response.data.status;
$timeout.cancel();
$scope.backupLoading = true;
$scope.startTransferbtn = false;
}
}
else{
$scope.error_message = response.data.error_message;
$scope.backupLoading = true;
$scope.couldNotConnect = true;
// Notifications box settings
$scope.couldNotConnect = true;
$scope.errorMessage = false;
$scope.accountsFetched = true;
$scope.notificationsBox = false;
}
}
function cantLoadInitialDatas(response) {
// Notifications box settings
$scope.couldNotConnect = false;
$scope.errorMessage = true;
$scope.accountsFetched = true;
$scope.notificationsBox = false;
}
};
function restoreAccounts() {
url = "/backup/getRemoteTransferStatus";
var data = {
password : $scope.password,
ipAddress: $scope.IPAddress,
dir: tempTransferDir,
};
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if (response.data.remoteTransferStatus == 1) {
if(response.data.backupsSent == 0){
$scope.backupStatus = false;
$scope.requestData = response.data.status;
$timeout(getBackupStatus, 2000);
}
else{
$timeout.cancel();
}
}
}
function cantLoadInitialDatas(response) {
// Notifications box settings
$scope.couldNotConnect = false;
$scope.errorMessage = true;
$scope.accountsFetched = true;
$scope.notificationsBox = false;
}
};
$scope.cancelRemoteBackup = function () {
$scope.backupLoading = false;
// notifications boxes
$scope.notificationsBox = true;
$scope.errorMessage = true;
$scope.couldNotConnect = true;
$scope.accountsFetched = true;
$scope.backupProcessStarted = true;
$scope.backupCancelled = true;
var IPAddress = $scope.IPAddress;
var password = $scope.password;
url = "/backup/cancelRemoteBackup";
var data = {
ipAddress: IPAddress,
password: password,
dir:tempTransferDir,
};
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if (response.data.cancelStatus == 1) {
$scope.backupLoading = true;
// notifications boxes
$scope.notificationsBox = false;
$scope.errorMessage = true;
$scope.couldNotConnect = true;
$scope.accountsFetched = true;
$scope.backupProcessStarted = true;
$scope.backupCancelled = false;
// enable transfer button
$scope.startTransferbtn = false;
//disable cancel button
$scope.stopTransferbtn = true;
// hide status box
$scope.backupStatus = true;
// bring back websites table
$scope.accountsInRemoteServerTable = false;
// enable fetch button
$scope.fetchAccountsBtn = false;
}
else {
$scope.error_message = response.data.error_message;
$scope.backupLoading = true;
// notifications boxes
$scope.notificationsBox = false;
$scope.errorMessage = false;
$scope.couldNotConnect = true;
$scope.accountsFetched = true;
$scope.backupProcessStarted = true;
$scope.backupCancelled = true;
}
}
function cantLoadInitialDatas(response) {
// notifications boxes
$scope.notificationsBox = false;
$scope.errorMessage = true;
$scope.couldNotConnect = false;
$scope.accountsFetched = true;
$scope.backupProcessStarted = true;
$scope.backupCancelled = true;
}
};
});
///** Backup site ends **///