dns on config page
This commit is contained in:
parent
eea6708f42
commit
644ba005aa
@ -14,27 +14,15 @@
|
|||||||
DNS Manager
|
DNS Manager
|
||||||
</div>
|
</div>
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<form action="{{ url_for('dns.add_dns') }}" method="post">
|
<div class="input-group mb-3">
|
||||||
<div class="input-group mb-3">
|
<input type="text" class="form-control" id="dns-entry-input" placeholder="Enter DNS entry">
|
||||||
<input type="text" class="form-control" name="dns_entry" placeholder="Enter DNS entry">
|
<div class="input-group-append">
|
||||||
<div class="input-group-append">
|
<button class="btn btn-primary" id="add-dns-btn">Add</button>
|
||||||
<button class="btn btn-primary" type="submit">Add</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<ul class="list-group list-group-flush">
|
<ul class="list-group list-group-flush" id="dns-list">
|
||||||
{% for entry in dns_list %}
|
<!-- DNS entries will be loaded here -->
|
||||||
<li class="list-group-item d-flex justify-content-between align-items-center">
|
|
||||||
{{ entry }}
|
|
||||||
<form action="{{ url_for('dns.remove_dns') }}" method="post" style="display: inline;">
|
|
||||||
<input type="hidden" name="dns_entry" value="{{ entry }}">
|
|
||||||
<button type="submit" class="btn btn-danger btn-sm">Remove</button>
|
|
||||||
</form>
|
|
||||||
</li>
|
|
||||||
{% else %}
|
|
||||||
<li class="list-group-item">No DNS entries found.</li>
|
|
||||||
{% endfor %}
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -74,3 +62,67 @@ document.getElementById('check-expiring-accounts-btn').addEventListener('click',
|
|||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
{% block scripts %}
|
||||||
|
{{ super() }}
|
||||||
|
<script>
|
||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
const dnsList = document.getElementById('dns-list');
|
||||||
|
const addDnsBtn = document.getElementById('add-dns-btn');
|
||||||
|
const dnsEntryInput = document.getElementById('dns-entry-input');
|
||||||
|
|
||||||
|
function fetchDnsList() {
|
||||||
|
fetch('/dns')
|
||||||
|
.then(response => response.json())
|
||||||
|
.then(data => {
|
||||||
|
dnsList.innerHTML = '';
|
||||||
|
if (data.length === 0) {
|
||||||
|
dnsList.innerHTML = '<li class="list-group-item">No DNS entries found.</li>';
|
||||||
|
} else {
|
||||||
|
data.forEach(entry => {
|
||||||
|
const li = document.createElement('li');
|
||||||
|
li.className = 'list-group-item d-flex justify-content-between align-items-center';
|
||||||
|
li.textContent = entry;
|
||||||
|
const removeBtn = document.createElement('button');
|
||||||
|
removeBtn.className = 'btn btn-danger btn-sm';
|
||||||
|
removeBtn.textContent = 'Remove';
|
||||||
|
removeBtn.addEventListener('click', () => removeDnsEntry(entry));
|
||||||
|
li.appendChild(removeBtn);
|
||||||
|
dnsList.appendChild(li);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function addDnsEntry() {
|
||||||
|
const dnsEntry = dnsEntryInput.value.trim();
|
||||||
|
if (dnsEntry) {
|
||||||
|
fetch('/dns', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
body: JSON.stringify({ dns_entry: dnsEntry })
|
||||||
|
}).then(() => {
|
||||||
|
dnsEntryInput.value = '';
|
||||||
|
fetchDnsList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function removeDnsEntry(dnsEntry) {
|
||||||
|
fetch('/dns', {
|
||||||
|
method: 'DELETE',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'application/json'
|
||||||
|
},
|
||||||
|
body: JSON.stringify({ dns_entry: dnsEntry })
|
||||||
|
}).then(() => {
|
||||||
|
fetchDnsList();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
addDnsBtn.addEventListener('click', addDnsEntry);
|
||||||
|
fetchDnsList();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
{% endblock %}
|
Loading…
x
Reference in New Issue
Block a user