Files
CyberPanel/static/dns/dns.js

619 lines
19 KiB
JavaScript
Raw Normal View History

2017-10-24 19:16:36 +05:00
/**
* Created by usman on 8/1/17.
*/
/* Java script code to create NS */
app.controller('createNameserver', function($scope,$http) {
$scope.createNameserverLoading = true;
$scope.nameserverCreationFailed = true;
$scope.nameserverCreated = true;
$scope.couldNotConnect = true;
$scope.createNameserverFunc = function(){
var domainForNS = $scope.domainForNS;
var ns1 = $scope.firstNS;
var ns2 = $scope.secondNS;
var firstNSIP = $scope.firstNSIP;
var secondNSIP = $scope.secondNSIP;
url = "/dns/NSCreation";
var data = {
domainForNS:domainForNS,
ns1:ns1,
ns2:ns2,
firstNSIP:firstNSIP,
secondNSIP:secondNSIP,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.NSCreation == 1){
$scope.createNameserverLoading = true;
$scope.nameserverCreationFailed = true;
$scope.nameserverCreated = false;
$scope.couldNotConnect = true;
$scope.nameServerTwo = $scope.firstNS;
$scope.nameServerOne = $scope.secondNS;
}
else{
$scope.createNameserverLoading = true;
$scope.nameserverCreationFailed = false;
$scope.nameserverCreated = true;
$scope.couldNotConnect = true;
$scope.errorMessage = response.data.error_message;
}
}
function cantLoadInitialDatas(response) {
$scope.createNameserverLoading = true;
$scope.nameserverCreationFailed = true;
$scope.nameserverCreated = true;
$scope.couldNotConnect = false;
}
};
});
/* Java script code to create NS ends here */
/* Java script code to create DNS Zone */
app.controller('createDNSZone', function($scope,$http) {
$scope.createDNSZoneLoading = true;
$scope.dnsZoneCreationFailed = true;
$scope.dnsZoneCreated = true;
$scope.couldNotConnect = true;
$scope.createDNSZone = function(){
var zoneDomain = $scope.zoneDomain;
url = "/dns/zoneCreation";
var data = {
zoneDomain:zoneDomain,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.zoneCreation == 1){
$scope.createDNSZoneLoading = true;
$scope.dnsZoneCreationFailed = true;
$scope.dnsZoneCreated = false;
$scope.couldNotConnect = true;
$scope.zoneDomain = $scope.zoneDomain;
}
else{
$scope.createDNSZoneLoading = true;
$scope.dnsZoneCreationFailed = false;
$scope.dnsZoneCreated = true;
$scope.couldNotConnect = true;
$scope.errorMessage = response.data.error_message;
}
}
function cantLoadInitialDatas(response) {
$scope.createDNSZoneLoading = true;
$scope.dnsZoneCreationFailed = true;
$scope.dnsZoneCreated = true;
$scope.couldNotConnect = false;
}
};
});
/* Java script code to delete DNS Zone */
/* Java script code to create DNS Zone */
app.controller('addModifyDNSRecords', function($scope,$http) {
$scope.addRecordsBox = true;
$scope.currentRecords = true;
$scope.canNotFetchRecords = true;
$scope.recordsFetched = true;
$scope.recordDeleted = true;
$scope.recordAdded = true;
$scope.couldNotConnect = true;
$scope.recordsLoading = true;
$scope.recordDeleted = true;
$scope.couldNotDeleteRecords = true;
$scope.couldNotAddRecord = true;
$scope.recordValueDefault = false;
$scope.recordValueMX = true;
$scope.recordValueAAAA = true;
$scope.recordValueCNAME = true;
$scope.recordValueSPF = true;
$scope.recordValueTXT = true;
$scope.fetchRecords = function(){
$scope.recordsLoading = false;
$scope.addRecordsBox = false;
populateCurrentRecords();
};
$scope.addDNSRecord = function(){
$scope.recordsLoading = false;
url = "/dns/addDNSRecord";
var selectedZone = $scope.selectedZone;
var recordName = $scope.recordName;
var recordType = $scope.recordType;
//specific values
var recordContentMX = "";
var recordContentA = "";
var recordContentAAAA = "";
var recordContentCNAME = "";
var recordContentSPF = "";
var recordContentTXT = "";
// Record specific values
if($scope.recordType=="MX"){
recordContentMX = $scope.recordContentMX;
}
else if($scope.recordType=="A"){
recordContentA = $scope.recordContentA;
}
else if($scope.recordType=="AAAA"){
recordContentAAAA = $scope.recordContentAAAA;
}
else if($scope.recordType=="CNAME"){
recordContentCNAME = $scope.recordContentCNAME;
}
else if($scope.recordType=="SPF"){
recordContentSPF = $scope.recordContentSPF;
}
else if($scope.recordType=="TXT"){
recordContentTXT = $scope.recordContentTXT;
}
var data = {
selectedZone:selectedZone,
recordName:recordName,
recordType:recordType,
recordContentA:recordContentA,
recordContentMX:recordContentMX,
recordContentAAAA:recordContentAAAA,
recordContentCNAME:recordContentCNAME,
recordContentSPF:recordContentSPF,
recordContentTXT:recordContentTXT,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.add_status == 1){
populateCurrentRecords();
$scope.canNotFetchRecords = true;
$scope.recordsFetched = false;
$scope.recordDeleted = true;
$scope.recordAdded = false;
$scope.couldNotConnect = true;
$scope.couldNotAddRecord = true;
$scope.recordsLoading = true;
}
else{
$scope.recordsFetched = true;
$scope.recordDeleted = true;
$scope.recordAdded = true;
$scope.couldNotConnect = true;
$scope.recordsLoading = true;
$scope.couldNotAddRecord = false;
$scope.errorMessage = response.data.error_message;
}
}
function cantLoadInitialDatas(response) {
$scope.addRecordsBox = true;
$scope.currentRecords = true;
$scope.canNotFetchRecords = true;
$scope.recordsFetched = true;
$scope.recordDeleted = true;
$scope.recordAdded = true;
$scope.couldNotConnect = false;
$scope.couldNotAddRecord = true;
}
};
function populateCurrentRecords(){
var selectedZone = $scope.selectedZone;
url = "/dns/getCurrentRecordsForDomain";
var data = {
selectedZone:selectedZone,
};
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);
$scope.currentRecords = false;
$scope.canNotFetchRecords = true;
$scope.recordsFetched = false;
$scope.recordDeleted = true;
$scope.recordAdded = true;
$scope.couldNotConnect = true;
$scope.recordsLoading = true;
$scope.couldNotAddRecord = true;
$scope.domainFeteched = $scope.selectedZone;
}
else{
$scope.addRecordsBox = true;
$scope.currentRecords = true;
$scope.canNotFetchRecords = false;
$scope.recordsFetched = true;
$scope.recordDeleted = true;
$scope.recordAdded = true;
$scope.couldNotConnect = true;
$scope.recordsLoading = true;
$scope.couldNotAddRecord = true;
$scope.errorMessage = response.data.error_message;
}
}
function cantLoadInitialDatas(response) {
$scope.addRecordsBox = true;
$scope.currentRecords = true;
$scope.canNotFetchRecords = true;
$scope.recordsFetched = true;
$scope.recordDeleted = true;
$scope.recordAdded = true;
$scope.couldNotConnect = false;
$scope.couldNotAddRecord = true;
}
};
$scope.deleteRecord = function(id){
var selectedZone = $scope.selectedZone;
url = "/dns/deleteDNSRecord";
var data = {
id:id,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.delete_status == 1){
$scope.addRecordsBox = false;
$scope.currentRecords = false;
$scope.canNotFetchRecords = true;
$scope.recordsFetched = true;
$scope.recordDeleted = false;
$scope.recordAdded = true;
$scope.couldNotConnect = true;
$scope.recordsLoading = true;
$scope.recordDeleted = true;
$scope.couldNotDeleteRecords = true;
$scope.couldNotAddRecord = true;
populateCurrentRecords();
}
else{
$scope.addRecordsBox = true;
$scope.currentRecords = true;
$scope.canNotFetchRecords = true;
$scope.recordsFetched = false;
$scope.recordDeleted = true;
$scope.recordAdded = true;
$scope.couldNotConnect = true;
$scope.recordsLoading = true;
$scope.recordDeleted = true;
$scope.couldNotDeleteRecords = false;
$scope.couldNotAddRecord = true;
$scope.errorMessage = response.data.error_message;
}
}
function cantLoadInitialDatas(response) {
$scope.addRecordsBox = false;
$scope.currentRecords = false;
$scope.canNotFetchRecords = true;
$scope.recordsFetched = true;
$scope.recordDeleted = true;
$scope.recordAdded = true;
$scope.couldNotConnect = false;
$scope.recordsLoading = true;
$scope.recordDeleted = true;
$scope.couldNotDeleteRecords = true;
$scope.couldNotAddRecord = true;
}
};
// MX Record Settings
$scope.detectType = function(){
if($scope.recordType=="MX")
{
$scope.recordValueDefault = true;
$scope.recordValueMX = false;
$scope.recordValueAAAA = true;
$scope.recordValueCNAME = true;
$scope.recordValueSPF = true;
$scope.recordValueTXT = true;
}
else if($scope.recordType=="A"){
$scope.recordValueDefault = false;
$scope.recordValueMX = true;
$scope.recordValueAAAA = true;
$scope.recordValueCNAME = true;
$scope.recordValueSPF = true;
$scope.recordValueTXT = true;
}
else if($scope.recordType=="AAAA"){
$scope.recordValueDefault = true;
$scope.recordValueMX = true;
$scope.recordValueAAAA = false;
$scope.recordValueCNAME = true;
$scope.recordValueSPF = true;
$scope.recordValueTXT = true;
}
else if($scope.recordType=="CNAME"){
$scope.recordValueDefault = true;
$scope.recordValueMX = true;
$scope.recordValueAAAA = true;
$scope.recordValueCNAME = false;
$scope.recordValueSPF = true;
$scope.recordValueTXT = true;
}
else if($scope.recordType=="SPF"){
$scope.recordValueDefault = true;
$scope.recordValueMX = true;
$scope.recordValueAAAA = true;
$scope.recordValueCNAME = true;
$scope.recordValueSPF = false;
$scope.recordValueTXT = true;
}
else if($scope.recordType=="TXT"){
$scope.recordValueDefault = true;
$scope.recordValueMX = true;
$scope.recordValueAAAA = true;
$scope.recordValueCNAME = true;
$scope.recordValueSPF = true;
$scope.recordValueTXT = false;
}
};
});
/* Java script code to delete DNS Zone */
/* Java script code to delete DNS Zone */
app.controller('deleteDNSZone', function($scope,$http) {
$scope.deleteZoneButton = true;
$scope.deleteFailure = true;
$scope.deleteSuccess = true;
$scope.couldNotConnect = true;
$scope.deleteZone = function(){
$scope.deleteZoneButton = false;
$scope.deleteFailure = true;
$scope.deleteSuccess = true;
}
$scope.deleteZoneFinal = function(){
var zoneDomain = $scope.selectedZone;
url = "/dns/submitZoneDeletion";
var data = {
zoneDomain:zoneDomain,
};
var config = {
headers : {
'X-CSRFToken': getCookie('csrftoken')
}
};
$http.post(url, data,config).then(ListInitialDatas, cantLoadInitialDatas);
function ListInitialDatas(response) {
if(response.data.delete_status == 1){
$scope.deleteZoneButton = true;
$scope.deleteFailure = true;
$scope.deleteSuccess = false;
$scope.couldNotConnect = true;
$scope.deletedZone = $scope.selectedZone;
}
else{
$scope.deleteZoneButton = true;
$scope.deleteFailure = false;
$scope.deleteSuccess = true;
$scope.couldNotConnect = true;
$scope.errorMessage = response.data.error_message;
}
}
function cantLoadInitialDatas(response) {
$scope.deleteZoneButton = true;
$scope.deleteFailure = true;
$scope.deleteSuccess = true;
$scope.couldNotConnect = false;
}
};
});
/* Java script code to delete DNS Zone */