Added reverse DNS check
This commit is contained in:
parent
10580c4b4b
commit
eda76052dd
|
@ -8,6 +8,6 @@ urlpatterns = [
|
||||||
url(r'inetnum/get-subnet/$', api_views.getSubnet, name='inetnum-get-subnet'),
|
url(r'inetnum/get-subnet/$', api_views.getSubnet, name='inetnum-get-subnet'),
|
||||||
|
|
||||||
url(r'domain/check/$', api_views.checkDomain, name='domain-check'),
|
url(r'domain/check/$', api_views.checkDomain, name='domain-check'),
|
||||||
url(r'rzone/check/$', api_views.checkRzone, name='rzone-check'),
|
url(r'rzone/check/$', api_views.checkRzone, name='reversezone-check'),
|
||||||
|
|
||||||
]
|
]
|
||||||
|
|
|
@ -206,15 +206,15 @@ def checkRzone(request):
|
||||||
}
|
}
|
||||||
|
|
||||||
try:
|
try:
|
||||||
rzonePk = ReverseZone.fixName(request.GET.get('rzone', ''))
|
rzonePk = int(request.GET.get('domain', ''))
|
||||||
rzone = ReverseZone.objects.get(pk=rzonePk)
|
rzone = ReverseZone.objects.get(pk=rzonePk)
|
||||||
if not rzone.canEdit(request.user):
|
if not rzone.canEdit(request.user):
|
||||||
raise ReverseZone.DoesNotExist()
|
raise ReverseZone.DoesNotExist()
|
||||||
|
|
||||||
ret["success"] = True
|
ret["success"] = True
|
||||||
# FIXME: change this if we ever have more than one...
|
# FIXME: change this if we ever have more than one...
|
||||||
ret["result"] = helperCheckDomain(rzone.name, TLD_NAMESERVERS[0], rzone.nameservers.all())
|
ret["result"] = helperCheckDomain(rzone.getZone(), TLD_NAMESERVERS[0], rzone.nameservers.all())
|
||||||
except Domain.DoesNotExist:
|
except (ReverseZone.DoesNotExist, ValueError):
|
||||||
ret["errorMsg"] = "ReverseZone does not exist"
|
ret["errorMsg"] = "ReverseZone does not exist"
|
||||||
|
|
||||||
return JsonResponse(ret)
|
return JsonResponse(ret)
|
||||||
|
|
|
@ -18,6 +18,7 @@ urlpatterns = [
|
||||||
|
|
||||||
url(r'reversezone/create/$', domains_views.ReverseZoneCreate.as_view(), name='reversezone-create'),
|
url(r'reversezone/create/$', domains_views.ReverseZoneCreate.as_view(), name='reversezone-create'),
|
||||||
url(r'reversezone/show/(?P<pk>[0-9]+)/$', domains_views.ReverseZoneDetail.as_view(), name='reversezone-show'),
|
url(r'reversezone/show/(?P<pk>[0-9]+)/$', domains_views.ReverseZoneDetail.as_view(), name='reversezone-show'),
|
||||||
|
url(r'reversezone/check/(?P<pk>[0-9]+)/$', domains_views.ReverseZoneCheck.as_view(), name='reversezone-check'),
|
||||||
url(r'reversezone/edit/(?P<pk>[0-9]+)/$', domains_views.ReverseZoneEdit.as_view(), name='reversezone-edit'),
|
url(r'reversezone/edit/(?P<pk>[0-9]+)/$', domains_views.ReverseZoneEdit.as_view(), name='reversezone-edit'),
|
||||||
url(r'reversezone/delete/(?P<pk>[0-9]+)/$', domains_views.ReverseZoneDelete.as_view(), name='reversezone-delete'),
|
url(r'reversezone/delete/(?P<pk>[0-9]+)/$', domains_views.ReverseZoneDelete.as_view(), name='reversezone-delete'),
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.urls import reverse_lazy
|
from django.urls import reverse_lazy, reverse
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
from django.views.generic import DetailView, CreateView, UpdateView
|
from django.views.generic import DetailView, CreateView, UpdateView
|
||||||
from django.contrib.auth.mixins import LoginRequiredMixin
|
from django.contrib.auth.mixins import LoginRequiredMixin
|
||||||
|
@ -39,8 +39,15 @@ class DomainCheck(LoginRequiredMixin, DetailView):
|
||||||
slug_field = "name"
|
slug_field = "name"
|
||||||
slug_url_kwarg = "domain"
|
slug_url_kwarg = "domain"
|
||||||
context_object_name = "domain"
|
context_object_name = "domain"
|
||||||
|
template_name = "domains/dns_check.html"
|
||||||
|
|
||||||
|
def get_context_data(self, **kwargs):
|
||||||
|
ctx = super(DomainCheck, self).get_context_data(**kwargs)
|
||||||
|
ctx["key"] = self.object.name
|
||||||
|
ctx["apiUrl"] = reverse("api:domain-check")
|
||||||
|
|
||||||
|
return ctx
|
||||||
|
|
||||||
template_name = "domains/domain_check.html"
|
|
||||||
|
|
||||||
class DomainDetail(LoginRequiredMixin, DetailView):
|
class DomainDetail(LoginRequiredMixin, DetailView):
|
||||||
model = Domain
|
model = Domain
|
||||||
|
@ -116,6 +123,17 @@ class ReverseZoneCreate(LoginRequiredMixin, CreateView):
|
||||||
return kwargs
|
return kwargs
|
||||||
|
|
||||||
|
|
||||||
|
class ReverseZoneCheck(LoginRequiredMixin, DetailView):
|
||||||
|
model = ReverseZone
|
||||||
|
template_name = "domains/dns_check.html"
|
||||||
|
|
||||||
|
def get_context_data(self, **kwargs):
|
||||||
|
ctx = super(ReverseZoneCheck, self).get_context_data(**kwargs)
|
||||||
|
ctx["key"] = self.object.id
|
||||||
|
ctx["apiUrl"] = reverse("api:reversezone-check")
|
||||||
|
|
||||||
|
return ctx
|
||||||
|
|
||||||
class ReverseZoneDetail(LoginRequiredMixin, DetailView):
|
class ReverseZoneDetail(LoginRequiredMixin, DetailView):
|
||||||
model = ReverseZone
|
model = ReverseZone
|
||||||
template_name = "whoisdb/handle_show.html"
|
template_name = "whoisdb/handle_show.html"
|
||||||
|
|
|
@ -36,8 +36,8 @@ function addRecord(d, key, title) {
|
||||||
$(document).ready(function() {
|
$(document).ready(function() {
|
||||||
$("#dnscontent").text("Running API request...");
|
$("#dnscontent").text("Running API request...");
|
||||||
$.get({
|
$.get({
|
||||||
url: "{% url "api:domain-check" %}",
|
url: "{{ apiUrl }}",
|
||||||
data: {domain: "{{ domain.name }}"},
|
data: {domain: "{{ key}}"},
|
||||||
beforeSend: function() {
|
beforeSend: function() {
|
||||||
$("#dnscontent").html('<img src="{% static "img/loader.gif" %}">');
|
$("#dnscontent").html('<img src="{% static "img/loader.gif" %}">');
|
||||||
},
|
},
|
|
@ -17,26 +17,6 @@
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
|
|
||||||
<h4>Your Nameservers (<a href="{% url "domains:nameserver-create" %}">New nameserver</a>)</h4>
|
|
||||||
<table class="table">
|
|
||||||
<tr>
|
|
||||||
<th>Nameserver</th>
|
|
||||||
<th>Glue IPv4</th>
|
|
||||||
<th>Glue IPv6</th>
|
|
||||||
<th>MNTs</th>
|
|
||||||
<th></th>
|
|
||||||
</tr>
|
|
||||||
{% for nameserver in nameservers %}
|
|
||||||
<tr>
|
|
||||||
<td><a href="{% url "domains:nameserver-show" nameserver.getPK %}">{{ nameserver.name }}</a></td>
|
|
||||||
<td>{{ nameserver.glueIPv4|default:"-" }}</td>
|
|
||||||
<td>{{ nameserver.glueIPv6|default:"-" }}</td>
|
|
||||||
<td>{{ nameserver.mnt_by.all|linkObjects }}</td>
|
|
||||||
<td><a href="{% url "domains:nameserver-edit" nameserver.getPK %}">Edit</a> <a href="{% url "domains:nameserver-delete" nameserver.getPK %}">Delete</a></td>
|
|
||||||
</tr>
|
|
||||||
{% endfor %}
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<h4>Your Domains (<a href="{% url "domains:domain-create" %}">New domain</a>)</h4>
|
<h4>Your Domains (<a href="{% url "domains:domain-create" %}">New domain</a>)</h4>
|
||||||
<table class="table">
|
<table class="table">
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -56,7 +36,31 @@
|
||||||
</ul>
|
</ul>
|
||||||
</td>
|
</td>
|
||||||
<td>{{ domain.mnt_by.all|linkObjects }}</td>
|
<td>{{ domain.mnt_by.all|linkObjects }}</td>
|
||||||
<td><a href="{% url "domains:domain-edit" domain.name %}">Edit</a> <a href="{% url "domains:domain-delete" domain.name %}">Delete</a></td>
|
<td>
|
||||||
|
<a href="{% url "domains:domain-check" domain.name %}">DNS-check</a>
|
||||||
|
<a href="{% url "domains:domain-edit" domain.name %}">Edit</a>
|
||||||
|
<a href="{% url "domains:domain-delete" domain.name %}">Delete</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
{% endfor %}
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<h4>Your Nameservers (<a href="{% url "domains:nameserver-create" %}">New nameserver</a>)</h4>
|
||||||
|
<table class="table">
|
||||||
|
<tr>
|
||||||
|
<th>Nameserver</th>
|
||||||
|
<th>Glue IPv4</th>
|
||||||
|
<th>Glue IPv6</th>
|
||||||
|
<th>MNTs</th>
|
||||||
|
<th></th>
|
||||||
|
</tr>
|
||||||
|
{% for nameserver in nameservers %}
|
||||||
|
<tr>
|
||||||
|
<td><a href="{% url "domains:nameserver-show" nameserver.getPK %}">{{ nameserver.name }}</a></td>
|
||||||
|
<td>{{ nameserver.glueIPv4|default:"-" }}</td>
|
||||||
|
<td>{{ nameserver.glueIPv6|default:"-" }}</td>
|
||||||
|
<td>{{ nameserver.mnt_by.all|linkObjects }}</td>
|
||||||
|
<td><a href="{% url "domains:nameserver-edit" nameserver.getPK %}">Edit</a> <a href="{% url "domains:nameserver-delete" nameserver.getPK %}">Delete</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</table>
|
</table>
|
||||||
|
@ -80,7 +84,10 @@
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</ul>
|
</ul>
|
||||||
</td>
|
</td>
|
||||||
<td><a href="{% url "domains:reversezone-edit" reversezone.pk %}">Edit</a> <a href="{% url "domains:reversezone-delete" reversezone.pk %}">Delete</a></td>
|
<td>
|
||||||
|
<a href="{% url "domains:reversezone-check" reversezone.pk %}">DNS-check</a>
|
||||||
|
<a href="{% url "domains:reversezone-edit" reversezone.pk %}">Edit</a>
|
||||||
|
<a href="{% url "domains:reversezone-delete" reversezone.pk %}">Delete</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</table>
|
</table>
|
||||||
|
|
Loading…
Reference in New Issue