From 807aebf72bd4af92093bebb2d877bf0c4acde8e0 Mon Sep 17 00:00:00 2001 From: KiekerJan Date: Tue, 23 Jul 2024 22:16:13 +0200 Subject: [PATCH] more work on advanced dns settings --- management/daemon.py | 16 +++++++++++++ management/templates/custom-dns.html | 34 ++++++++++++++++++++-------- 2 files changed, 40 insertions(+), 10 deletions(-) diff --git a/management/daemon.py b/management/daemon.py index 774e98697..7730b4255 100755 --- a/management/daemon.py +++ b/management/daemon.py @@ -403,6 +403,22 @@ def dns_get_zonefile(zone): from dns_update import get_dns_zonefile return Response(get_dns_zonefile(zone, env), status=200, mimetype='text/plain') +@app.route('/dns/advanced-dns') +@authorized_personnel_only +def dns_get_advanced_dns_options(): + + return json_response({ "hiddenmaster_enabled": False, "hiddenmaster_selected": False, "short_ttl_selected" }) + +@app.route('/dns/advanced-dns', methods=['POST']) +@authorized_personnel_only +def dns_set_advanced_dns_options(): + + try: + return "Updated it very nicely" + except ValueError as e: + # Use as raise ValueError(msg) + return (str(e), 400) + # SSL @app.route('/ssl/status') diff --git a/management/templates/custom-dns.html b/management/templates/custom-dns.html index fd62ae784..75f51fd68 100644 --- a/management/templates/custom-dns.html +++ b/management/templates/custom-dns.html @@ -199,7 +199,6 @@

Examples:

function(data) { $('#secondarydnsHostname').val(data.hostnames.join(' ')); $('#secondarydns-clear-instructions').toggle(data.hostnames.length > 0); - $('#enableHiddenMaster').disabled); }); api( @@ -213,11 +212,9 @@

Examples:

} }); - - - show_current_custom_dns(); show_customdns_rtype_hint(); + show_advanced_dns(); } function show_current_custom_dns() { @@ -294,7 +291,7 @@

Examples:

if ($('#customdnsQname').val() != '') qname = $('#customdnsQname').val() + '.' + $('#customdnsZone').val(); else - qname = $('#customdnsZone').val(); + qname = $('#customdnsZone').val(); rtype = $('#customdnsType').val(); value = $('#customdnsValue').val(); method = 'POST'; @@ -319,22 +316,39 @@

Examples:

} function show_advanced_dns() { + api( + "/dns/advanced-dns", + "GET", + { }, + function(data) { + if (data.hiddenmaster_enable) { + $('#enableHiddenMaster').removeClass('disabled') + $('#enableHiddenMaster').prop('checked', data.hiddenmaster_selected); + } + else { + $('#enableHiddenMaster').addClass('disabled') + $('#enableHiddenMaster').prop('checked', false); + } + + $('#enableShortTTL').prop(data.short_ttl_selected); + }); } function do_set_advanced_dns() { api( - "/dns/secondary-nameserver", + "/dns/advanced-dns", "POST", { - hostnames: $('#secondarydnsHostname').val() + hiddenmaster_selected: $('#enableHiddenMaster').val(); + short_ttl_selected: $('#enableShortTTL').val(); }, function(data) { if (data == "") return; // nothing updated - show_modal_error("Secondary DNS", $("
").text(data));
-      $('#secondarydns-clear-instructions').slideDown();
+      show_modal_error("Advanced DNS", $("
").text(data));
+      show_advanced_dns();
     },
     function(err) {
-      show_modal_error("Secondary DNS", $("
").text(err));
+      show_modal_error("Advanced DNS", $("
").text(err));
     });
 }