From eda76052dd8d14d3e7a09709dc7da8118c5f0aad Mon Sep 17 00:00:00 2001 From: Sebastian Lohff Date: Mon, 1 May 2017 06:41:29 +0200 Subject: [PATCH] Added reverse DNS check --- api/urls.py | 2 +- api/views.py | 6 +-- domains/urls.py | 1 + domains/views.py | 22 +++++++- .../{domain_check.html => dns_check.html} | 4 +- templates/domains/overview.html | 51 +++++++++++-------- 6 files changed, 56 insertions(+), 30 deletions(-) rename templates/domains/{domain_check.html => dns_check.html} (96%) diff --git a/api/urls.py b/api/urls.py index 40c4ca5..c7dcc00 100644 --- a/api/urls.py +++ b/api/urls.py @@ -8,6 +8,6 @@ urlpatterns = [ url(r'inetnum/get-subnet/$', api_views.getSubnet, name='inetnum-get-subnet'), 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'), ] diff --git a/api/views.py b/api/views.py index 56b3e22..aaceee3 100644 --- a/api/views.py +++ b/api/views.py @@ -206,15 +206,15 @@ def checkRzone(request): } try: - rzonePk = ReverseZone.fixName(request.GET.get('rzone', '')) + rzonePk = int(request.GET.get('domain', '')) rzone = ReverseZone.objects.get(pk=rzonePk) if not rzone.canEdit(request.user): raise ReverseZone.DoesNotExist() ret["success"] = True # FIXME: change this if we ever have more than one... - ret["result"] = helperCheckDomain(rzone.name, TLD_NAMESERVERS[0], rzone.nameservers.all()) - except Domain.DoesNotExist: + ret["result"] = helperCheckDomain(rzone.getZone(), TLD_NAMESERVERS[0], rzone.nameservers.all()) + except (ReverseZone.DoesNotExist, ValueError): ret["errorMsg"] = "ReverseZone does not exist" return JsonResponse(ret) diff --git a/domains/urls.py b/domains/urls.py index 2b331a9..6939235 100644 --- a/domains/urls.py +++ b/domains/urls.py @@ -18,6 +18,7 @@ urlpatterns = [ url(r'reversezone/create/$', domains_views.ReverseZoneCreate.as_view(), name='reversezone-create'), url(r'reversezone/show/(?P[0-9]+)/$', domains_views.ReverseZoneDetail.as_view(), name='reversezone-show'), + url(r'reversezone/check/(?P[0-9]+)/$', domains_views.ReverseZoneCheck.as_view(), name='reversezone-check'), url(r'reversezone/edit/(?P[0-9]+)/$', domains_views.ReverseZoneEdit.as_view(), name='reversezone-edit'), url(r'reversezone/delete/(?P[0-9]+)/$', domains_views.ReverseZoneDelete.as_view(), name='reversezone-delete'), diff --git a/domains/views.py b/domains/views.py index 7886371..828a86b 100644 --- a/domains/views.py +++ b/domains/views.py @@ -1,5 +1,5 @@ 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.views.generic import DetailView, CreateView, UpdateView from django.contrib.auth.mixins import LoginRequiredMixin @@ -39,8 +39,15 @@ class DomainCheck(LoginRequiredMixin, DetailView): slug_field = "name" slug_url_kwarg = "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): model = Domain @@ -116,6 +123,17 @@ class ReverseZoneCreate(LoginRequiredMixin, CreateView): 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): model = ReverseZone template_name = "whoisdb/handle_show.html" diff --git a/templates/domains/domain_check.html b/templates/domains/dns_check.html similarity index 96% rename from templates/domains/domain_check.html rename to templates/domains/dns_check.html index b7948e2..320ac26 100644 --- a/templates/domains/domain_check.html +++ b/templates/domains/dns_check.html @@ -36,8 +36,8 @@ function addRecord(d, key, title) { $(document).ready(function() { $("#dnscontent").text("Running API request..."); $.get({ - url: "{% url "api:domain-check" %}", - data: {domain: "{{ domain.name }}"}, + url: "{{ apiUrl }}", + data: {domain: "{{ key}}"}, beforeSend: function() { $("#dnscontent").html(''); }, diff --git a/templates/domains/overview.html b/templates/domains/overview.html index 5b0b9b1..d97a9f4 100644 --- a/templates/domains/overview.html +++ b/templates/domains/overview.html @@ -17,26 +17,6 @@ {% endif %} -

Your Nameservers (New nameserver)

- - - - - - - - - {% for nameserver in nameservers %} - - - - - - - - {% endfor %} -
NameserverGlue IPv4Glue IPv6MNTs
{{ nameserver.name }}{{ nameserver.glueIPv4|default:"-" }}{{ nameserver.glueIPv6|default:"-" }}{{ nameserver.mnt_by.all|linkObjects }}Edit Delete
-

Your Domains (New domain)

@@ -56,7 +36,31 @@ - + + + {% endfor %} +
{{ domain.mnt_by.all|linkObjects }}Edit Delete + DNS-check + Edit + Delete +
+ +

Your Nameservers (New nameserver)

+ + + + + + + + + {% for nameserver in nameservers %} + + + + + + {% endfor %}
NameserverGlue IPv4Glue IPv6MNTs
{{ nameserver.name }}{{ nameserver.glueIPv4|default:"-" }}{{ nameserver.glueIPv6|default:"-" }}{{ nameserver.mnt_by.all|linkObjects }}Edit Delete
@@ -80,7 +84,10 @@ {% endfor %} - Edit Delete + + DNS-check + Edit + Delete {% endfor %}