mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2025-11-07 22:06:05 +01:00
bug fix in zone listing
This commit is contained in:
@@ -50,106 +50,19 @@ class DNSManager:
|
|||||||
if ACLManager.currentContextPermission(currentACL, 'createNameServer') == 0:
|
if ACLManager.currentContextPermission(currentACL, 'createNameServer') == 0:
|
||||||
return ACLManager.loadErrorJson('NSCreation', 0)
|
return ACLManager.loadErrorJson('NSCreation', 0)
|
||||||
|
|
||||||
|
|
||||||
domainForNS = data['domainForNS']
|
domainForNS = data['domainForNS']
|
||||||
ns1 = data['ns1']
|
ns1 = data['ns1']
|
||||||
ns2 = data['ns2']
|
ns2 = data['ns2']
|
||||||
firstNSIP = data['firstNSIP']
|
firstNSIP = data['firstNSIP']
|
||||||
secondNSIP = data['secondNSIP']
|
secondNSIP = data['secondNSIP']
|
||||||
|
|
||||||
if Domains.objects.filter(name=domainForNS).count() == 0:
|
DNS.dnsTemplate(domainForNS, admin)
|
||||||
|
|
||||||
try:
|
|
||||||
pdns = PDNSStatus.objects.get(pk=1)
|
|
||||||
if pdns.type == 'MASTER':
|
|
||||||
newZone = Domains(admin=admin, name=domainForNS, type="MASTER")
|
|
||||||
else:
|
|
||||||
newZone = Domains(admin=admin, name=domainForNS, type="NATIVE")
|
|
||||||
except:
|
|
||||||
newZone = Domains(admin=admin, name=domainForNS, type="NATIVE")
|
|
||||||
|
|
||||||
newZone.save()
|
|
||||||
|
|
||||||
content = "ns1." + domainForNS + " hostmaster." + domainForNS + " 1 10800 3600 604800 3600"
|
|
||||||
|
|
||||||
soaRecord = Records(domainOwner=newZone,
|
|
||||||
domain_id=newZone.id,
|
|
||||||
name=domainForNS,
|
|
||||||
type="SOA",
|
|
||||||
content=content,
|
|
||||||
ttl=3600,
|
|
||||||
prio=0,
|
|
||||||
disabled=0,
|
|
||||||
auth=1)
|
|
||||||
soaRecord.save()
|
|
||||||
|
|
||||||
## NS1
|
|
||||||
|
|
||||||
record = Records(domainOwner=newZone,
|
|
||||||
domain_id=newZone.id,
|
|
||||||
name=domainForNS,
|
|
||||||
type="NS",
|
|
||||||
content=ns1,
|
|
||||||
ttl=3600,
|
|
||||||
prio=0,
|
|
||||||
disabled=0,
|
|
||||||
auth=1)
|
|
||||||
record.save()
|
|
||||||
|
|
||||||
record = Records(domainOwner=newZone,
|
|
||||||
domain_id=newZone.id,
|
|
||||||
name=ns1,
|
|
||||||
type="A",
|
|
||||||
content=firstNSIP,
|
|
||||||
ttl=3600,
|
|
||||||
prio=0,
|
|
||||||
disabled=0,
|
|
||||||
auth=1)
|
|
||||||
record.save()
|
|
||||||
|
|
||||||
## NS2
|
|
||||||
|
|
||||||
|
|
||||||
record = Records(domainOwner=newZone,
|
|
||||||
domain_id=newZone.id,
|
|
||||||
name=domainForNS,
|
|
||||||
type="NS",
|
|
||||||
content=ns2,
|
|
||||||
ttl=3600,
|
|
||||||
prio=0,
|
|
||||||
disabled=0,
|
|
||||||
auth=1)
|
|
||||||
record.save()
|
|
||||||
|
|
||||||
record = Records(domainOwner=newZone,
|
|
||||||
domain_id=newZone.id,
|
|
||||||
name=ns2,
|
|
||||||
type="A",
|
|
||||||
content=secondNSIP,
|
|
||||||
ttl=3600,
|
|
||||||
prio=0,
|
|
||||||
disabled=0,
|
|
||||||
auth=1)
|
|
||||||
record.save()
|
|
||||||
|
|
||||||
final_dic = {'NSCreation': 1, 'error_message': "None"}
|
|
||||||
final_json = json.dumps(final_dic)
|
|
||||||
return HttpResponse(final_json)
|
|
||||||
else:
|
|
||||||
|
|
||||||
newZone = Domains.objects.get(name=domainForNS)
|
newZone = Domains.objects.get(name=domainForNS)
|
||||||
|
|
||||||
## NS1
|
## NS1
|
||||||
|
|
||||||
record = Records(domainOwner=newZone,
|
|
||||||
domain_id=newZone.id,
|
|
||||||
name=domainForNS,
|
|
||||||
type="NS",
|
|
||||||
content=ns1,
|
|
||||||
ttl=3600,
|
|
||||||
prio=0,
|
|
||||||
disabled=0,
|
|
||||||
auth=1)
|
|
||||||
record.save()
|
|
||||||
|
|
||||||
record = Records(domainOwner=newZone,
|
record = Records(domainOwner=newZone,
|
||||||
domain_id=newZone.id,
|
domain_id=newZone.id,
|
||||||
@@ -164,18 +77,6 @@ class DNSManager:
|
|||||||
|
|
||||||
## NS2
|
## NS2
|
||||||
|
|
||||||
|
|
||||||
record = Records(domainOwner=newZone,
|
|
||||||
domain_id=newZone.id,
|
|
||||||
name=domainForNS,
|
|
||||||
type="NS",
|
|
||||||
content=ns2,
|
|
||||||
ttl=3600,
|
|
||||||
prio=0,
|
|
||||||
disabled=0,
|
|
||||||
auth=1)
|
|
||||||
record.save()
|
|
||||||
|
|
||||||
record = Records(domainOwner=newZone,
|
record = Records(domainOwner=newZone,
|
||||||
domain_id=newZone.id,
|
domain_id=newZone.id,
|
||||||
name=ns2,
|
name=ns2,
|
||||||
@@ -190,6 +91,8 @@ class DNSManager:
|
|||||||
final_dic = {'NSCreation': 1, 'error_message': "None"}
|
final_dic = {'NSCreation': 1, 'error_message': "None"}
|
||||||
final_json = json.dumps(final_dic)
|
final_json = json.dumps(final_dic)
|
||||||
return HttpResponse(final_json)
|
return HttpResponse(final_json)
|
||||||
|
|
||||||
|
|
||||||
except BaseException, msg:
|
except BaseException, msg:
|
||||||
final_dic = {'NSCreation': 0, 'error_message': str(msg)}
|
final_dic = {'NSCreation': 0, 'error_message': str(msg)}
|
||||||
final_json = json.dumps(final_dic)
|
final_json = json.dumps(final_dic)
|
||||||
@@ -273,7 +176,7 @@ class DNSManager:
|
|||||||
currentSelection = data['currentSelection']
|
currentSelection = data['currentSelection']
|
||||||
|
|
||||||
admin = Administrator.objects.get(pk=userID)
|
admin = Administrator.objects.get(pk=userID)
|
||||||
if ACLManager.checkOwnership(zoneDomain, admin, currentACL) == 1:
|
if ACLManager.checkOwnershipZone(zoneDomain, admin, currentACL) == 1:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
return ACLManager.loadErrorJson()
|
return ACLManager.loadErrorJson()
|
||||||
@@ -350,10 +253,10 @@ class DNSManager:
|
|||||||
ttl = int(data['ttl'])
|
ttl = int(data['ttl'])
|
||||||
|
|
||||||
admin = Administrator.objects.get(pk=userID)
|
admin = Administrator.objects.get(pk=userID)
|
||||||
if ACLManager.checkOwnership(zoneDomain, admin, currentACL) == 1:
|
if ACLManager.checkOwnershipZone(zoneDomain, admin, currentACL) == 1:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
return ACLManager.loadError()
|
return ACLManager.loadErrorJson()
|
||||||
|
|
||||||
zone = Domains.objects.get(name=zoneDomain)
|
zone = Domains.objects.get(name=zoneDomain)
|
||||||
value = ""
|
value = ""
|
||||||
@@ -520,7 +423,7 @@ class DNSManager:
|
|||||||
|
|
||||||
admin = Administrator.objects.get(pk=userID)
|
admin = Administrator.objects.get(pk=userID)
|
||||||
|
|
||||||
if ACLManager.checkOwnership(delRecord.domainOwner.name, admin, currentACL) == 1:
|
if ACLManager.checkOwnershipZone(delRecord.domainOwner.name, admin, currentACL) == 1:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
return ACLManager.loadError()
|
return ACLManager.loadError()
|
||||||
@@ -565,7 +468,7 @@ class DNSManager:
|
|||||||
return ACLManager.loadErrorJson('delete_status', 0)
|
return ACLManager.loadErrorJson('delete_status', 0)
|
||||||
|
|
||||||
|
|
||||||
if ACLManager.checkOwnership(zoneDomain, admin, currentACL) == 1:
|
if ACLManager.checkOwnershipZone(zoneDomain, admin, currentACL) == 1:
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
return ACLManager.loadError()
|
return ACLManager.loadError()
|
||||||
|
|||||||
@@ -444,22 +444,22 @@ class ACLManager:
|
|||||||
domainsList = []
|
domainsList = []
|
||||||
|
|
||||||
if currentACL['admin'] == 1:
|
if currentACL['admin'] == 1:
|
||||||
domains = Websites.objects.all()
|
domains = Domains.objects.all()
|
||||||
for items in domains:
|
for items in domains:
|
||||||
domainsList.append(items.domain)
|
domainsList.append(items.name)
|
||||||
else:
|
else:
|
||||||
admin = Administrator.objects.get(pk=userID)
|
admin = Administrator.objects.get(pk=userID)
|
||||||
domains = admin.websites_set.all()
|
domains = admin.domains_set.all()
|
||||||
|
|
||||||
for items in domains:
|
for items in domains:
|
||||||
domainsList.append(items.domain)
|
domainsList.append(items.name)
|
||||||
|
|
||||||
admins = Administrator.objects.filter(owner=admin.pk)
|
admins = Administrator.objects.filter(owner=admin.pk)
|
||||||
|
|
||||||
for items in admins:
|
for items in admins:
|
||||||
doms = items.websites_set.all()
|
doms = items.domains_set.all()
|
||||||
for dom in doms:
|
for dom in doms:
|
||||||
domainsList.append(dom.domain)
|
domainsList.append(dom.name)
|
||||||
|
|
||||||
return domainsList
|
return domainsList
|
||||||
|
|
||||||
@@ -490,6 +490,19 @@ class ACLManager:
|
|||||||
else:
|
else:
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def checkOwnershipZone(domain, admin, currentACL):
|
||||||
|
domain = Domains.objects.get(name=domain)
|
||||||
|
|
||||||
|
if currentACL['admin'] == 1:
|
||||||
|
return 1
|
||||||
|
elif domain.admin == admin:
|
||||||
|
return 1
|
||||||
|
elif domain.admin.owner == admin.pk:
|
||||||
|
return 1
|
||||||
|
else:
|
||||||
|
return 0
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def executeCall(command):
|
def executeCall(command):
|
||||||
try:
|
try:
|
||||||
|
|||||||
@@ -97,6 +97,8 @@ class StagingSetup(multi.Thread):
|
|||||||
|
|
||||||
command = "sed -i 's/%s/%s/g' %s" % (masterDomain, domain, databasePath)
|
command = "sed -i 's/%s/%s/g' %s" % (masterDomain, domain, databasePath)
|
||||||
ProcessUtilities.executioner(command, 'cyberpanel')
|
ProcessUtilities.executioner(command, 'cyberpanel')
|
||||||
|
command = "sed -i 's/%s/%s/g' %s" % ('https', 'http', databasePath)
|
||||||
|
ProcessUtilities.executioner(command, 'cyberpanel')
|
||||||
|
|
||||||
if not mysqlUtilities.restoreDatabaseBackup(dbNameRestore, '/home/cyberpanel', None, 1, dbName):
|
if not mysqlUtilities.restoreDatabaseBackup(dbNameRestore, '/home/cyberpanel', None, 1, dbName):
|
||||||
try:
|
try:
|
||||||
|
|||||||
Reference in New Issue
Block a user