mirror of
https://github.com/usmannasir/cyberpanel.git
synced 2026-01-30 19:29:03 +01:00
Bug fix to DNS and User creation.
This commit is contained in:
58
dns/views.py
58
dns/views.py
@@ -9,6 +9,7 @@ from loginSystem.models import Administrator
|
||||
import os
|
||||
from loginSystem.views import loadLoginPage
|
||||
from models import Domains,Records
|
||||
from re import match,I,M
|
||||
|
||||
# Create your views here.
|
||||
|
||||
@@ -334,17 +335,24 @@ def addDNSRecord(request):
|
||||
recordType = data['recordType']
|
||||
recordName = data['recordName']
|
||||
|
||||
|
||||
|
||||
admin = Administrator.objects.get(pk=val)
|
||||
#admin = Administrator.objects.get(pk=val)
|
||||
|
||||
zone = Domains.objects.get(name=zoneDomain)
|
||||
value = recordName+"."+zoneDomain
|
||||
value = ""
|
||||
|
||||
|
||||
if recordType == "A":
|
||||
|
||||
recordContentA = data['recordContentA'] ## IP or ponting value
|
||||
|
||||
if recordName == "@":
|
||||
value = zoneDomain
|
||||
## re.match
|
||||
elif match(r'([\da-z\.-]+\.[a-z\.]{2,12}|[\d\.]+)([\/:?=&#]{1}[\da-z\.-]+)*[\/\?]?', recordName, M | I):
|
||||
value = recordName
|
||||
else:
|
||||
value = recordName + "." + zoneDomain
|
||||
|
||||
record = Records( domainOwner=zone,
|
||||
domain_id=zone.id,
|
||||
name=value,
|
||||
@@ -356,6 +364,15 @@ def addDNSRecord(request):
|
||||
auth=1 )
|
||||
record.save()
|
||||
elif recordType == "MX":
|
||||
|
||||
if recordName == "@":
|
||||
value = zoneDomain
|
||||
## re.match
|
||||
elif match(r'([\da-z\.-]+\.[a-z\.]{2,12}|[\d\.]+)([\/:?=&#]{1}[\da-z\.-]+)*[\/\?]?', recordName, M | I):
|
||||
value = recordName
|
||||
else:
|
||||
value = recordName + "." + zoneDomain
|
||||
|
||||
recordContentMX = data['recordContentMX']
|
||||
record = Records(domainOwner=zone,
|
||||
domain_id=zone.id,
|
||||
@@ -368,9 +385,18 @@ def addDNSRecord(request):
|
||||
auth=1)
|
||||
record.save()
|
||||
elif recordType == "AAAA":
|
||||
|
||||
recordContentAAAA = data['recordContentAAAA'] ## IP or ponting value
|
||||
|
||||
if recordName == "@":
|
||||
value = zoneDomain
|
||||
## re.match
|
||||
elif match(r'([\da-z\.-]+\.[a-z\.]{2,12}|[\d\.]+)([\/:?=&#]{1}[\da-z\.-]+)*[\/\?]?', recordName, M | I):
|
||||
value = recordName
|
||||
else:
|
||||
value = recordName + "." + zoneDomain
|
||||
|
||||
|
||||
record = Records( domainOwner=zone,
|
||||
domain_id=zone.id,
|
||||
name=value,
|
||||
@@ -383,7 +409,15 @@ def addDNSRecord(request):
|
||||
record.save()
|
||||
|
||||
elif recordType == "CNAME":
|
||||
recordName = data['recordName']
|
||||
|
||||
if recordName == "@":
|
||||
value = zoneDomain
|
||||
## re.match
|
||||
elif match(r'([\da-z\.-]+\.[a-z\.]{2,12}|[\d\.]+)([\/:?=&#]{1}[\da-z\.-]+)*[\/\?]?', recordName, M | I):
|
||||
value = recordName
|
||||
else:
|
||||
value = recordName + "." + zoneDomain
|
||||
|
||||
recordContentCNAME = data['recordContentCNAME'] ## IP or ponting value
|
||||
record = Records( domainOwner=zone,
|
||||
domain_id=zone.id,
|
||||
@@ -398,8 +432,15 @@ def addDNSRecord(request):
|
||||
|
||||
|
||||
elif recordType == "SPF":
|
||||
|
||||
if recordName == "@":
|
||||
value = zoneDomain
|
||||
## re.match
|
||||
elif match(r'([\da-z\.-]+\.[a-z\.]{2,12}|[\d\.]+)([\/:?=&#]{1}[\da-z\.-]+)*[\/\?]?', recordName, M | I):
|
||||
value = recordName
|
||||
else:
|
||||
value = recordName + "." + zoneDomain
|
||||
|
||||
recordContentSPF = data['recordContentSPF'] ## IP or ponting value
|
||||
record = Records( domainOwner=zone,
|
||||
domain_id=zone.id,
|
||||
@@ -414,8 +455,15 @@ def addDNSRecord(request):
|
||||
|
||||
|
||||
elif recordType == "TXT":
|
||||
|
||||
if recordName == "@":
|
||||
value = zoneDomain
|
||||
## re.match
|
||||
elif match(r'([\da-z\.-]+\.[a-z\.]{2,12}|[\d\.]+)([\/:?=&#]{1}[\da-z\.-]+)*[\/\?]?', recordName, M | I):
|
||||
value = recordName
|
||||
else:
|
||||
value = recordName + "." + zoneDomain
|
||||
|
||||
recordContentTXT = data['recordContentTXT'] ## IP or ponting value
|
||||
record = Records( domainOwner=zone,
|
||||
domain_id=zone.id,
|
||||
|
||||
@@ -1,38 +1,7 @@
|
||||
from xml.etree import ElementTree
|
||||
import os
|
||||
from random import randint
|
||||
import re
|
||||
|
||||
try:
|
||||
mydoc = ElementTree.parse('domain.xml')
|
||||
line = "usman.exampl.com"
|
||||
matchObj = re.match( r'([\da-z\.-]+\.[a-z\.]{2,12}|[\d\.]+)([\/:?=&#]{1}[\da-z\.-]+)*[\/\?]?', line, re.M|re.I)
|
||||
|
||||
|
||||
len = 0
|
||||
|
||||
if len == 0:
|
||||
raise BaseException("Error occurred!")
|
||||
|
||||
domains = mydoc.findall('ChildDomains/domain')
|
||||
|
||||
for d in domains:
|
||||
print d.find('domain').text
|
||||
print d.find('phpSelection').text
|
||||
print d.find('path').text
|
||||
|
||||
databases = mydoc.findall('Databases/database')
|
||||
|
||||
for d in databases:
|
||||
print d.find('dbName').text
|
||||
print d.find('dbUser').text
|
||||
print d.find('password').text
|
||||
|
||||
dnsrecords = mydoc.findall('dnsrecords/dnsrecord')
|
||||
|
||||
for dnsrecord in dnsrecords:
|
||||
print dnsrecord.find('type').text
|
||||
print dnsrecord.find('name').text
|
||||
print dnsrecord.find('content').text
|
||||
print dnsrecord.find('priority').text
|
||||
|
||||
print os.path.join("/home", "cyberpanel", str(randint(1000, 9999)) + ".xml/", "test")
|
||||
except BaseException,msg:
|
||||
print str(msg)
|
||||
if matchObj:
|
||||
print line
|
||||
@@ -99,16 +99,6 @@
|
||||
|
||||
|
||||
|
||||
<div ng-hide="webLimits" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Websites Limit" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<input name="websitesLimit" type="number" class="form-control" ng-model="websitesLimit" required>
|
||||
</div>
|
||||
<div ng-show="createUser.websitesLimit.$error.number" class="current-pack">{% trans "Only Numbers" %}</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Username" %}</label>
|
||||
<div class="col-sm-6">
|
||||
|
||||
@@ -94,14 +94,6 @@
|
||||
|
||||
|
||||
|
||||
<div ng-hide="websitesLimit" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Websites Limit" %}</label>
|
||||
<div class="col-sm-6">
|
||||
<input type="number" class="form-control" ng-model="websitesLimitValue" required>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div ng-hide="acctDetailsFetched" class="form-group">
|
||||
<label class="col-sm-3 control-label">{% trans "Password" %}</label>
|
||||
<div class="col-sm-6">
|
||||
|
||||
@@ -140,7 +140,6 @@ def submitUserCreation(request):
|
||||
return HttpResponse(final_json)
|
||||
|
||||
elif accountType == "Normal User":
|
||||
websitesLimit = data['websitesLimit']
|
||||
|
||||
newAdmin = Administrator(firstName=firstName,
|
||||
lastName=lastName,
|
||||
@@ -148,7 +147,7 @@ def submitUserCreation(request):
|
||||
type=3,
|
||||
userName=userName,
|
||||
password=password,
|
||||
initWebsitesLimit=websitesLimit,
|
||||
initWebsitesLimit=0,
|
||||
owner=currentAdmin.pk
|
||||
)
|
||||
newAdmin.save()
|
||||
@@ -325,13 +324,12 @@ def saveModifications(request):
|
||||
user.save()
|
||||
|
||||
elif data['accountType'] == "Normal User":
|
||||
websitesLimit = data['websitesLimit']
|
||||
|
||||
user.firstName = firstName
|
||||
user.lastName = lastName
|
||||
user.email = email
|
||||
user.password = password
|
||||
user.initWebsitesLimit = websitesLimit
|
||||
user.initWebsitesLimit = 0
|
||||
user.type = 3
|
||||
|
||||
user.save()
|
||||
|
||||
Reference in New Issue
Block a user