From ca1d507ac242439afbe4e3930477860bd02abf49 Mon Sep 17 00:00:00 2001 From: Usman Nasir Date: Sat, 23 May 2020 01:41:06 +0500 Subject: [PATCH] bug fix: https://github.com/usmannasir/cyberpanel/issues/346 --- manageServices/serviceManager.py | 16 ++++++----- .../manageServices/managePowerDNS.html | 18 ++++++------- manageServices/views.py | 27 ++++++++++++++++--- 3 files changed, 42 insertions(+), 19 deletions(-) diff --git a/manageServices/serviceManager.py b/manageServices/serviceManager.py index c37468a3b..877c30472 100755 --- a/manageServices/serviceManager.py +++ b/manageServices/serviceManager.py @@ -30,8 +30,8 @@ class ServiceManager: ipsString = ipsString.rstrip(' ') ipStringNoSubnet = ipStringNoSubnet.rstrip(' ') - - + tempPath = "/home/cyberpanel/" + str(randint(1000, 9999)) + writeToFile = open(tempPath, 'w') for items in data: if items.find('allow-axfr-ips') > -1: @@ -49,14 +49,14 @@ class ServiceManager: if items.find('slave') > -1: continue + if items.find('master') > -1: + continue + counter = counter + 1 - tempPath = "/home/cyberpanel/" + str(randint(1000, 9999)) - writeToFile = open(tempPath, 'w') - - for items in data: writeToFile.writelines(items + '\n') + writeToFile.writelines('allow-axfr-ips=' + ipsString + '\n') writeToFile.writelines('also-notify=' + ipStringNoSubnet + '\n') writeToFile.writelines('daemon=no\n') @@ -82,6 +82,9 @@ class ServiceManager: if items.find('slave') > -1: continue + if items.find('slave=yes') > 1: + return 0 + counter = counter + 1 tempPath = "/home/cyberpanel/" + str(randint(1000, 9999)) @@ -112,6 +115,5 @@ superslave=yes Supermasters(ip=self.extraArgs['masterServerIP'], nameserver=self.extraArgs['slaveServerNS'], account='').save() command = 'sudo mv ' + tempPath + ' ' + path - #subprocess.call(shlex.split(command)) ProcessUtilities.executioner(command) diff --git a/manageServices/templates/manageServices/managePowerDNS.html b/manageServices/templates/manageServices/managePowerDNS.html index 685f53474..013dd0533 100755 --- a/manageServices/templates/manageServices/managePowerDNS.html +++ b/manageServices/templates/manageServices/managePowerDNS.html @@ -51,57 +51,57 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
- +
+
diff --git a/manageServices/views.py b/manageServices/views.py index 1facec6a0..b95965ed6 100755 --- a/manageServices/views.py +++ b/manageServices/views.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- - from django.shortcuts import render from django.shortcuts import HttpResponse, redirect import plogical.CyberCPLogFileWriter as logging @@ -14,19 +13,41 @@ from .serviceManager import ServiceManager from plogical.processUtilities import ProcessUtilities # Create your views here. - def managePowerDNS(request): try: userID = request.session['userID'] currentACL = ACLManager.loadedACL(userID) + if currentACL['admin'] == 1: pass else: return ACLManager.loadError() try: - return render(request, 'manageServices/managePowerDNS.html', {"status": 1}) + data = {} + data['status'] = 1 + + pdnsStatus = PDNSStatus.objects.get(pk=1) + + if pdnsStatus.type == 'MASTER': + counter = 1 + + for items in SlaveServers.objects.all(): + + if counter == 1: + data['slaveServer'] = items.slaveServer + data['slaveServerIP'] = items.slaveServerIP + else: + data['slaveServer%s' % (str(counter))] = items.slaveServer + data['slaveServerIP%s' % (str(counter))] = items.slaveServerIP + + counter = counter + 1 + else: + data['slaveServerNS'] = pdnsStatus.masterServer + data['masterServerIP'] = pdnsStatus.masterIP + + return render(request, 'manageServices/managePowerDNS.html', data) except BaseException as msg: logging.CyberCPLogFileWriter.writeToFile(str(msg)) return HttpResponse("See CyberCP main log file.")