Skip to content

Commit afdbc36

Browse files
committed
bug fix in zone listing
1 parent d495ce4 commit afdbc36

File tree

3 files changed

+61
-143
lines changed

3 files changed

+61
-143
lines changed

dns/dnsManager.py

Lines changed: 40 additions & 137 deletions
Original file line numberDiff line numberDiff line change
@@ -50,146 +50,49 @@ def NSCreation(self, userID = None, data = None):
5050
if ACLManager.currentContextPermission(currentACL, 'createNameServer') == 0:
5151
return ACLManager.loadErrorJson('NSCreation', 0)
5252

53+
5354
domainForNS = data['domainForNS']
5455
ns1 = data['ns1']
5556
ns2 = data['ns2']
5657
firstNSIP = data['firstNSIP']
5758
secondNSIP = data['secondNSIP']
5859

59-
if Domains.objects.filter(name=domainForNS).count() == 0:
60+
DNS.dnsTemplate(domainForNS, admin)
61+
62+
newZone = Domains.objects.get(name=domainForNS)
63+
64+
## NS1
65+
66+
67+
record = Records(domainOwner=newZone,
68+
domain_id=newZone.id,
69+
name=ns1,
70+
type="A",
71+
content=firstNSIP,
72+
ttl=3600,
73+
prio=0,
74+
disabled=0,
75+
auth=1)
76+
record.save()
77+
78+
## NS2
79+
80+
record = Records(domainOwner=newZone,
81+
domain_id=newZone.id,
82+
name=ns2,
83+
type="A",
84+
content=secondNSIP,
85+
ttl=3600,
86+
prio=0,
87+
disabled=0,
88+
auth=1)
89+
record.save()
90+
91+
final_dic = {'NSCreation': 1, 'error_message': "None"}
92+
final_json = json.dumps(final_dic)
93+
return HttpResponse(final_json)
6094

61-
try:
62-
pdns = PDNSStatus.objects.get(pk=1)
63-
if pdns.type == 'MASTER':
64-
newZone = Domains(admin=admin, name=domainForNS, type="MASTER")
65-
else:
66-
newZone = Domains(admin=admin, name=domainForNS, type="NATIVE")
67-
except:
68-
newZone = Domains(admin=admin, name=domainForNS, type="NATIVE")
69-
70-
newZone.save()
71-
72-
content = "ns1." + domainForNS + " hostmaster." + domainForNS + " 1 10800 3600 604800 3600"
73-
74-
soaRecord = Records(domainOwner=newZone,
75-
domain_id=newZone.id,
76-
name=domainForNS,
77-
type="SOA",
78-
content=content,
79-
ttl=3600,
80-
prio=0,
81-
disabled=0,
82-
auth=1)
83-
soaRecord.save()
84-
85-
## NS1
86-
87-
record = Records(domainOwner=newZone,
88-
domain_id=newZone.id,
89-
name=domainForNS,
90-
type="NS",
91-
content=ns1,
92-
ttl=3600,
93-
prio=0,
94-
disabled=0,
95-
auth=1)
96-
record.save()
97-
98-
record = Records(domainOwner=newZone,
99-
domain_id=newZone.id,
100-
name=ns1,
101-
type="A",
102-
content=firstNSIP,
103-
ttl=3600,
104-
prio=0,
105-
disabled=0,
106-
auth=1)
107-
record.save()
108-
109-
## NS2
110-
111-
112-
record = Records(domainOwner=newZone,
113-
domain_id=newZone.id,
114-
name=domainForNS,
115-
type="NS",
116-
content=ns2,
117-
ttl=3600,
118-
prio=0,
119-
disabled=0,
120-
auth=1)
121-
record.save()
122-
123-
record = Records(domainOwner=newZone,
124-
domain_id=newZone.id,
125-
name=ns2,
126-
type="A",
127-
content=secondNSIP,
128-
ttl=3600,
129-
prio=0,
130-
disabled=0,
131-
auth=1)
132-
record.save()
133-
134-
final_dic = {'NSCreation': 1, 'error_message': "None"}
135-
final_json = json.dumps(final_dic)
136-
return HttpResponse(final_json)
137-
else:
13895

139-
newZone = Domains.objects.get(name=domainForNS)
140-
141-
## NS1
142-
143-
record = Records(domainOwner=newZone,
144-
domain_id=newZone.id,
145-
name=domainForNS,
146-
type="NS",
147-
content=ns1,
148-
ttl=3600,
149-
prio=0,
150-
disabled=0,
151-
auth=1)
152-
record.save()
153-
154-
record = Records(domainOwner=newZone,
155-
domain_id=newZone.id,
156-
name=ns1,
157-
type="A",
158-
content=firstNSIP,
159-
ttl=3600,
160-
prio=0,
161-
disabled=0,
162-
auth=1)
163-
record.save()
164-
165-
## NS2
166-
167-
168-
record = Records(domainOwner=newZone,
169-
domain_id=newZone.id,
170-
name=domainForNS,
171-
type="NS",
172-
content=ns2,
173-
ttl=3600,
174-
prio=0,
175-
disabled=0,
176-
auth=1)
177-
record.save()
178-
179-
record = Records(domainOwner=newZone,
180-
domain_id=newZone.id,
181-
name=ns2,
182-
type="A",
183-
content=secondNSIP,
184-
ttl=3600,
185-
prio=0,
186-
disabled=0,
187-
auth=1)
188-
record.save()
189-
190-
final_dic = {'NSCreation': 1, 'error_message': "None"}
191-
final_json = json.dumps(final_dic)
192-
return HttpResponse(final_json)
19396
except BaseException, msg:
19497
final_dic = {'NSCreation': 0, 'error_message': str(msg)}
19598
final_json = json.dumps(final_dic)
@@ -273,7 +176,7 @@ def getCurrentRecordsForDomain(self, userID = None, data = None):
273176
currentSelection = data['currentSelection']
274177

275178
admin = Administrator.objects.get(pk=userID)
276-
if ACLManager.checkOwnership(zoneDomain, admin, currentACL) == 1:
179+
if ACLManager.checkOwnershipZone(zoneDomain, admin, currentACL) == 1:
277180
pass
278181
else:
279182
return ACLManager.loadErrorJson()
@@ -350,10 +253,10 @@ def addDNSRecord(self, userID = None, data = None):
350253
ttl = int(data['ttl'])
351254

352255
admin = Administrator.objects.get(pk=userID)
353-
if ACLManager.checkOwnership(zoneDomain, admin, currentACL) == 1:
256+
if ACLManager.checkOwnershipZone(zoneDomain, admin, currentACL) == 1:
354257
pass
355258
else:
356-
return ACLManager.loadError()
259+
return ACLManager.loadErrorJson()
357260

358261
zone = Domains.objects.get(name=zoneDomain)
359262
value = ""
@@ -520,7 +423,7 @@ def deleteDNSRecord(self, userID = None, data = None):
520423

521424
admin = Administrator.objects.get(pk=userID)
522425

523-
if ACLManager.checkOwnership(delRecord.domainOwner.name, admin, currentACL) == 1:
426+
if ACLManager.checkOwnershipZone(delRecord.domainOwner.name, admin, currentACL) == 1:
524427
pass
525428
else:
526429
return ACLManager.loadError()
@@ -565,7 +468,7 @@ def submitZoneDeletion(self, userID = None, data = None):
565468
return ACLManager.loadErrorJson('delete_status', 0)
566469

567470

568-
if ACLManager.checkOwnership(zoneDomain, admin, currentACL) == 1:
471+
if ACLManager.checkOwnershipZone(zoneDomain, admin, currentACL) == 1:
569472
pass
570473
else:
571474
return ACLManager.loadError()

plogical/acl.py

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -444,22 +444,22 @@ def findAllDomains(currentACL, userID):
444444
domainsList = []
445445

446446
if currentACL['admin'] == 1:
447-
domains = Websites.objects.all()
447+
domains = Domains.objects.all()
448448
for items in domains:
449-
domainsList.append(items.domain)
449+
domainsList.append(items.name)
450450
else:
451451
admin = Administrator.objects.get(pk=userID)
452-
domains = admin.websites_set.all()
452+
domains = admin.domains_set.all()
453453

454454
for items in domains:
455-
domainsList.append(items.domain)
455+
domainsList.append(items.name)
456456

457457
admins = Administrator.objects.filter(owner=admin.pk)
458458

459459
for items in admins:
460-
doms = items.websites_set.all()
460+
doms = items.domains_set.all()
461461
for dom in doms:
462-
domainsList.append(dom.domain)
462+
domainsList.append(dom.name)
463463

464464
return domainsList
465465

@@ -490,6 +490,19 @@ def checkOwnership(domain, admin, currentACL):
490490
else:
491491
return 0
492492

493+
@staticmethod
494+
def checkOwnershipZone(domain, admin, currentACL):
495+
domain = Domains.objects.get(name=domain)
496+
497+
if currentACL['admin'] == 1:
498+
return 1
499+
elif domain.admin == admin:
500+
return 1
501+
elif domain.admin.owner == admin.pk:
502+
return 1
503+
else:
504+
return 0
505+
493506
@staticmethod
494507
def executeCall(command):
495508
try:

websiteFunctions/StagingSetup.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ def startCloning(self):
9797

9898
command = "sed -i 's/%s/%s/g' %s" % (masterDomain, domain, databasePath)
9999
ProcessUtilities.executioner(command, 'cyberpanel')
100+
command = "sed -i 's/%s/%s/g' %s" % ('https', 'http', databasePath)
101+
ProcessUtilities.executioner(command, 'cyberpanel')
100102

101103
if not mysqlUtilities.restoreDatabaseBackup(dbNameRestore, '/home/cyberpanel', None, 1, dbName):
102104
try:

0 commit comments

Comments
 (0)