Files
CyberPanel/static/manageServices/manageServices.js

529 lines
12 KiB
JavaScript
Raw Normal View History

2018-07-23 02:09:33 +05:00
/**
* Created by usman on 6/22/18.
*/
2018-07-23 16:41:59 +05:00
/* Java script code */
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
app.controller('powerDNS', function ($scope, $http, $timeout, $window) {
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$scope.pdnsLoading = true;
$scope.failedToFetch = true;
$scope.couldNotConnect = true;
$scope.changesApplied = true;
$scope.slaveIPs = true;
2020-08-21 12:10:28 +05:00
$scope.masterServerHD = true;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
var pdnsStatus = false;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$('#pdnsStatus').change(function () {
pdnsStatus = $(this).prop('checked');
});
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
fetchPDNSStatus('powerdns');
2020-08-21 12:10:28 +05:00
2019-02-04 01:03:18 +05:00
function fetchPDNSStatus(service) {
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$scope.pdnsLoading = false;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$('#pdnsStatus').bootstrapToggle('off');
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
url = "/manageservices/fetchStatus";
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
var data = {
'service': service
};
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
function ListInitialDatas(response) {
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$scope.pdnsLoading = true;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
if (response.data.status === 1) {
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
if (response.data.installCheck === 1) {
$('#pdnsStatus').bootstrapToggle('on');
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$scope.slaveIPData = response.data.slaveIPData;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
} else {
$scope.failedToFetch = false;
$scope.couldNotConnect = true;
$scope.changesApplied = true;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$scope.errorMessage = response.data.error_message;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
function cantLoadInitialDatas(response) {
$scope.pdnsLoading = true;
$scope.failedToFetch = true;
$scope.couldNotConnect = false;
$scope.changesApplied = true;
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$scope.saveStatus = function (service) {
2018-07-23 16:41:59 +05:00
2019-02-04 01:03:18 +05:00
$scope.pdnsLoading = false;
$scope.failedToFetch = true;
$scope.couldNotConnect = true;
$scope.changesApplied = true;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
url = "/manageservices/saveStatus";
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
if (service === 'powerdns') {
var data = {
status: pdnsStatus,
service: service,
dnsMode: $scope.dnsMode,
2019-06-27 13:07:47 +05:00
slaveServerNS: $scope.slaveServerNS,
masterServerIP: $scope.masterServerIP,
slaveServer: $scope.slaveServer,
slaveServerIP: $scope.slaveServerIP,
slaveServer2: $scope.slaveServer2,
slaveServerIP2: $scope.slaveServerIP2,
slaveServer3: $scope.slaveServer3,
slaveServerIP3: $scope.slaveServerIP3,
2019-02-04 01:03:18 +05:00
};
2020-08-21 12:10:28 +05:00
} else {
2019-02-04 01:03:18 +05:00
var data = {
status: pdnsStatus,
service: service
};
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
function ListInitialDatas(response) {
$scope.pdnsLoading = true;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
if (response.data.status === 1) {
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$scope.failedToFetch = true;
$scope.couldNotConnect = true;
$scope.changesApplied = false;
2018-07-23 02:09:33 +05:00
2020-08-21 12:10:28 +05:00
} else {
2019-02-04 01:03:18 +05:00
$scope.errorMessage = response.data.error_message;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$scope.failedToFetch = false;
$scope.couldNotConnect = true;
$scope.changesApplied = true;
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
function cantLoadInitialDatas(response) {
$scope.policyServerLoading = true;
$scope.failedToFetch = true;
$scope.couldNotConnect = false;
$scope.changesApplied = true;
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
};
$scope.modeChange = function () {
if ($scope.dnsMode === 'MASTER') {
$scope.slaveIPs = false;
2020-08-21 12:10:28 +05:00
$scope.masterServerHD = true;
2019-02-04 01:03:18 +05:00
2020-08-21 12:10:28 +05:00
} else if ($scope.dnsMode == 'SLAVE') {
2019-02-04 01:03:18 +05:00
$scope.slaveIPs = true;
2020-08-21 12:10:28 +05:00
$scope.masterServerHD = false;
} else {
2019-06-27 13:07:47 +05:00
$scope.slaveIPs = true;
2020-08-21 12:10:28 +05:00
$scope.masterServerHD = true;
2019-02-04 01:03:18 +05:00
}
}
2018-07-23 02:09:33 +05:00
});
2018-07-23 16:41:59 +05:00
/* Java script code */
2018-07-23 02:09:33 +05:00
2018-07-23 16:41:59 +05:00
/* Java script code */
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
app.controller('postfix', function ($scope, $http, $timeout, $window) {
2018-07-23 16:41:59 +05:00
2019-02-04 01:03:18 +05:00
$scope.serviceLoading = true;
$scope.failedToFetch = true;
$scope.couldNotConnect = true;
$scope.changesApplied = true;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
var serviceStatus = false;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$('#serviceStatus').change(function () {
serviceStatus = $(this).prop('checked');
});
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
fetchPDNSStatus('postfix');
2020-08-21 12:10:28 +05:00
2019-02-04 01:03:18 +05:00
function fetchPDNSStatus(service) {
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$scope.serviceLoading = false;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$('#serviceStatus').bootstrapToggle('off');
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
url = "/manageservices/fetchStatus";
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
var data = {
'service': service
};
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
function ListInitialDatas(response) {
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$scope.serviceLoading = true;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
if (response.data.status === 1) {
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
if (response.data.installCheck === 1) {
$('#serviceStatus').bootstrapToggle('on');
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
} else {
$scope.failedToFetch = false;
$scope.couldNotConnect = true;
$scope.changesApplied = true;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$scope.errorMessage = response.data.error_message;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
function cantLoadInitialDatas(response) {
$scope.serviceLoading = true;
$scope.failedToFetch = true;
$scope.couldNotConnect = false;
$scope.changesApplied = true;
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$scope.saveStatus = function (service) {
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$scope.serviceLoading = false;
$scope.failedToFetch = true;
$scope.couldNotConnect = true;
$scope.changesApplied = true;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
url = "/manageservices/saveStatus";
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
var data = {
status: serviceStatus,
service: service
};
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
function ListInitialDatas(response) {
$scope.serviceLoading = true;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
if (response.data.status === 1) {
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$scope.failedToFetch = true;
$scope.couldNotConnect = true;
$scope.changesApplied = false;
2018-07-23 02:09:33 +05:00
2020-08-21 12:10:28 +05:00
} else {
2019-02-04 01:03:18 +05:00
$scope.errorMessage = response.data.error_message;
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
$scope.failedToFetch = false;
$scope.couldNotConnect = true;
$scope.changesApplied = true;
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
function cantLoadInitialDatas(response) {
$scope.serviceLoading = true;
$scope.failedToFetch = true;
$scope.couldNotConnect = false;
$scope.changesApplied = true;
}
2018-07-23 02:09:33 +05:00
2019-02-04 01:03:18 +05:00
};
2018-07-23 02:09:33 +05:00
});
2018-07-23 22:11:42 +05:00
/* Java script code */
/* Java script code */
2019-02-04 01:03:18 +05:00
app.controller('pureFTPD', function ($scope, $http, $timeout, $window) {
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
$scope.serviceLoading = true;
$scope.failedToFetch = true;
$scope.couldNotConnect = true;
$scope.changesApplied = true;
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
var serviceStatus = false;
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
$('#serviceStatus').change(function () {
serviceStatus = $(this).prop('checked');
});
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
fetchPDNSStatus('pureftpd');
2020-08-21 12:10:28 +05:00
2019-02-04 01:03:18 +05:00
function fetchPDNSStatus(service) {
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
$scope.serviceLoading = false;
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
$('#serviceStatus').bootstrapToggle('off');
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
url = "/manageservices/fetchStatus";
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
var data = {
'service': service
};
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
function ListInitialDatas(response) {
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
$scope.serviceLoading = true;
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
if (response.data.status === 1) {
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
if (response.data.installCheck === 1) {
$('#serviceStatus').bootstrapToggle('on');
}
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
} else {
$scope.failedToFetch = false;
$scope.couldNotConnect = true;
$scope.changesApplied = true;
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
$scope.errorMessage = response.data.error_message;
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
}
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
}
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
function cantLoadInitialDatas(response) {
$scope.serviceLoading = true;
$scope.failedToFetch = true;
$scope.couldNotConnect = false;
$scope.changesApplied = true;
}
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
}
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
$scope.saveStatus = function (service) {
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
$scope.serviceLoading = false;
$scope.failedToFetch = true;
$scope.couldNotConnect = true;
$scope.changesApplied = true;
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
url = "/manageservices/saveStatus";
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
var data = {
status: serviceStatus,
service: service
};
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
function ListInitialDatas(response) {
$scope.serviceLoading = true;
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
if (response.data.status === 1) {
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
$scope.failedToFetch = true;
$scope.couldNotConnect = true;
$scope.changesApplied = false;
2018-07-23 22:11:42 +05:00
2020-08-21 12:10:28 +05:00
} else {
2019-02-04 01:03:18 +05:00
$scope.errorMessage = response.data.error_message;
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
$scope.failedToFetch = false;
$scope.couldNotConnect = true;
$scope.changesApplied = true;
}
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
}
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
function cantLoadInitialDatas(response) {
$scope.serviceLoading = true;
$scope.failedToFetch = true;
$scope.couldNotConnect = false;
$scope.changesApplied = true;
}
2018-07-23 22:11:42 +05:00
2019-02-04 01:03:18 +05:00
};
2018-07-23 22:11:42 +05:00
});
2018-07-23 02:09:33 +05:00
/* Java script code */
/* Java script code */
app.controller('manageApplications', function ($scope, $http, $timeout, $window) {
$scope.cyberpanelLoading = true;
2020-08-21 12:10:28 +05:00
$scope.removeInstall = function (appName, status) {
2020-08-21 12:10:28 +05:00
$scope.status = status;
$scope.appName = appName;
2020-08-21 12:10:28 +05:00
$scope.cyberpanelLoading = false;
2020-08-21 12:10:28 +05:00
url = "/manageservices/removeInstall";
var data = {
2020-08-21 12:10:28 +05:00
appName: appName,
status: status
};
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
$scope.cyberpanelLoading = true;
if (response.data.status === 1) {
2020-08-21 12:10:28 +05:00
getRequestStatus();
} else {
new PNotify({
title: 'Operation Failed!',
text: response.data.error_message,
type: 'error'
});
}
}
function cantLoadInitialDatas(response) {
2020-08-21 12:10:28 +05:00
$scope.cyberpanelLoading = true;
new PNotify({
title: 'Operation Failed!',
text: 'Could not connect to server, please refresh this page',
type: 'error'
});
}
};
2020-08-21 12:10:28 +05:00
function getRequestStatus() {
$scope.cyberpanelLoading = false;
2020-08-21 12:10:28 +05:00
url = "/serverstatus/switchTOLSWSStatus";
var data = {};
var config = {
headers: {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data, config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if (response.data.abort === 0) {
$scope.requestData = response.data.requestStatus;
$timeout(getRequestStatus, 1000);
} else {
// Notifications
$timeout.cancel();
$scope.requestData = response.data.requestStatus;
if (response.data.installed === 1) {
$timeout(function () {
$window.location.reload();
}, 3000);
}
}
}
function cantLoadInitialDatas(response) {
$scope.cyberpanelLoading = true;
new PNotify({
title: 'Operation Failed!',
text: 'Could not connect to server, please refresh this page',
type: 'error'
});
}
}
});
2018-07-23 16:41:59 +05:00
/* Java script code */