mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2026-01-17 04:52:05 +01:00
bug fix: dns manager
This commit is contained in:
@@ -157,7 +157,7 @@ class DNSManager:
|
||||
if not os.path.exists('/home/cyberpanel/powerdns'):
|
||||
return render(request, 'dns/addDeleteDNSRecords.html', {"status": 0})
|
||||
|
||||
domainsList = ACLManager.findAllDomains(currentACL, userID)
|
||||
domainsList = ACLManager.findAllWebsites(currentACL, userID)
|
||||
|
||||
return render(request, 'dns/addDeleteDNSRecords.html', {"domainsList": domainsList, "status": 1})
|
||||
|
||||
@@ -177,7 +177,7 @@ class DNSManager:
|
||||
currentSelection = data['currentSelection']
|
||||
|
||||
admin = Administrator.objects.get(pk=userID)
|
||||
if ACLManager.checkOwnershipZone(zoneDomain, admin, currentACL) == 1:
|
||||
if ACLManager.checkOwnership(zoneDomain, admin, currentACL) == 1:
|
||||
pass
|
||||
else:
|
||||
return ACLManager.loadErrorJson()
|
||||
@@ -254,7 +254,7 @@ class DNSManager:
|
||||
ttl = int(data['ttl'])
|
||||
|
||||
admin = Administrator.objects.get(pk=userID)
|
||||
if ACLManager.checkOwnershipZone(zoneDomain, admin, currentACL) == 1:
|
||||
if ACLManager.checkOwnership(zoneDomain, admin, currentACL) == 1:
|
||||
pass
|
||||
else:
|
||||
return ACLManager.loadErrorJson()
|
||||
@@ -424,7 +424,7 @@ class DNSManager:
|
||||
|
||||
admin = Administrator.objects.get(pk=userID)
|
||||
|
||||
if ACLManager.checkOwnershipZone(delRecord.domainOwner.name, admin, currentACL) == 1:
|
||||
if ACLManager.checkOwnership(delRecord.domainOwner.name, admin, currentACL) == 1:
|
||||
pass
|
||||
else:
|
||||
return ACLManager.loadError()
|
||||
|
||||
@@ -463,6 +463,29 @@ class ACLManager:
|
||||
|
||||
return domainsList
|
||||
|
||||
@staticmethod
|
||||
def findAllWebsites(currentACL, userID):
|
||||
domainsList = []
|
||||
|
||||
if currentACL['admin'] == 1:
|
||||
domains = Websites.objects.all()
|
||||
for items in domains:
|
||||
domainsList.append(items.domain)
|
||||
else:
|
||||
admin = Administrator.objects.get(pk=userID)
|
||||
domains = admin.websites_set.all()
|
||||
|
||||
for items in domains:
|
||||
domainsList.append(items.domain)
|
||||
|
||||
admins = Administrator.objects.filter(owner=admin.pk)
|
||||
|
||||
for items in admins:
|
||||
doms = items.websites_set.all()
|
||||
for dom in doms:
|
||||
domainsList.append(dom.domain)
|
||||
return domainsList
|
||||
|
||||
@staticmethod
|
||||
def checkOwnership(domain, admin, currentACL):
|
||||
|
||||
@@ -496,7 +519,7 @@ class ACLManager:
|
||||
|
||||
if currentACL['admin'] == 1:
|
||||
return 1
|
||||
elif domain.admin == admin:
|
||||
elif domain.admin.admin == admin:
|
||||
return 1
|
||||
elif domain.admin.owner == admin.pk:
|
||||
return 1
|
||||
|
||||
Reference in New Issue
Block a user