Completed first-found updates of the zone add view.

This commit is contained in:
Matt Scott 2023-02-19 12:06:39 -05:00
parent 9548cbce1c
commit 75e262e7e9

View File

@ -1,6 +1,6 @@
{% extends "base.html" %} {% extends "base.html" %}
{% set active_page = "new_domain" %} {% set active_page = "new_domain" %}
{% block title %}<title>Add Domain - {{ SITE_NAME }}</title>{% endblock %} {% block title %}<title>Create Zone - {{ SITE_NAME }}</title>{% endblock %}
{% block dashboard_stat %} {% block dashboard_stat %}
<div class="content-header"> <div class="content-header">
@ -8,14 +8,13 @@
<div class="row mb-2"> <div class="row mb-2">
<div class="col-sm-6"> <div class="col-sm-6">
<h1 class="m-0 text-dark"> <h1 class="m-0 text-dark">
Domain Create New Zone
<small>New Domain</small>
</h1> </h1>
</div> </div>
<div class="col-sm-6"> <div class="col-sm-6">
<ol class="breadcrumb float-sm-right"> <ol class="breadcrumb float-sm-right">
<li class="breadcrumb-item"><a href="{{ url_for('dashboard.dashboard') }}">Dashboard</a></li> <li class="breadcrumb-item"><a href="{{ url_for('dashboard.dashboard') }}">Dashboard</a></li>
<li class="breadcrumb-item active">Domain - New Domain</li> <li class="breadcrumb-item active">New Zone</li>
</ol> </ol>
</div> </div>
</div> </div>
@ -27,53 +26,63 @@
<section class="content"> <section class="content">
<div class="container-fluid"> <div class="container-fluid">
<div class="row"> <div class="row">
<div class="col-4"> <div class="col-12 col-sm-6 col-lg-4">
<div class="card">
<div class="card-header">
<h3 class="card-title">Create new domain</h3>
</div>
<form role="form" method="post" action="{{ url_for('domain.add') }}"> <form role="form" method="post" action="{{ url_for('domain.add') }}">
<input type="hidden" name="_csrf_token" value="{{ csrf_token() }}"> <input type="hidden" name="_csrf_token" value="{{ csrf_token() }}">
<div class="card">
<div class="card-header">
<h3 class="card-title">Zone Editor</h3>
</div>
<!-- /.card-header -->
<div class="card-body"> <div class="card-body">
<div class="form-group"> <div class="form-group">
<input type="text" class="form-control" name="domain_name" id="domain_name" placeholder="Enter a valid domain name (required)"> <label for="domain_name">Zone Name</label>
<input type="text" class="form-control" name="domain_name" id="domain_name"
placeholder="Enter a valid zone name (required)">
</div> </div>
{% if domain_override_toggle == True %} {% if domain_override_toggle == True %}
<div class="form-group"> <div class="form-group">
<label>Domain Override Record</label> <input type="checkbox" id="domain_override" name="domain_override"
<input type="checkbox" id="domain_override" name="domain_override" class="checkbox"> class="checkbox">
&nbsp;
<label for="domain_override">Zone Override Record</label>
</div> </div>
{% endif %} {% endif %}
<select name="accountid" class="form-control" style="width:15em;"> <div class="form-group">
<label for="selAccount">Account</label>
<select name="accountid" id="selAccount" class="form-control">
<option value="0">- No Account -</option> <option value="0">- No Account -</option>
{% for account in accounts %} {% for account in accounts %}
<option value="{{ account.id }}">{{ account.name }}</option> <option value="{{ account.id }}">{{ account.name }}</option>
{% endfor %} {% endfor %}
</select> </select>
<br /> </div>
<div class="form-group"> <div class="form-group">
<label>Type</label> <label>Zone Type</label>
<div class="radio"> <div class="radio">
<label> <label>
<input type="radio" name="radio_type" id="radio_type_native" value="native" checked> <input type="radio" name="radio_type" id="radio_type_native" value="native"
checked>
Native Native
</label> </label>
</div> </div>
<div class="radio"> <div class="radio">
<label> <label>
<input type="radio" name="radio_type" id="radio_type_primary" value="primary"> <input type="radio" name="radio_type" id="radio_type_primary"
value="primary">
Primary Primary
</label> </label>
</div> </div>
<div class="radio"> <div class="radio">
<label> <label>
<input type="radio" name="radio_type" id="radio_type_secondary" value="secondary"> <input type="radio" name="radio_type" id="radio_type_secondary"
value="secondary">
Secondary Secondary
</label> </label>
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<label>Select a template</label> <label for="domain_template">Zone Template</label>
<select class="form-control" id="domain_template" name="domain_template"> <select class="form-control" id="domain_template" name="domain_template">
<option value="0">No template</option> <option value="0">No template</option>
{% for template in templates %} {% for template in templates %}
@ -82,112 +91,139 @@
</select> </select>
</div> </div>
<div class="form-group" style="display: none;" id="domain_primary_address_div"> <div class="form-group" style="display: none;" id="domain_primary_address_div">
<input type="text" class="form-control" name="domain_primary_address" id="domain_primary_address" placeholder="Enter valid Primary Server IP addresses (separated by commas)"> <input type="text" class="form-control" name="domain_primary_address"
id="domain_primary_address"
placeholder="Enter valid Primary Server IP addresses (separated by commas)">
</div> </div>
<div class="form-group"> <div class="form-group">
<label>SOA-EDIT-API</label> <label>SOA-EDIT-API</label>
<div class="radio"> <div class="radio">
<label> <label>
<input type="radio" name="radio_type_soa_edit_api" id="radio_default" value="DEFAULT" checked> <input type="radio" name="radio_type_soa_edit_api" id="radio_default"
value="DEFAULT" checked>
DEFAULT DEFAULT
</label> </label>
</div> </div>
<div class="radio"> <div class="radio">
<label> <label>
<input type="radio" name="radio_type_soa_edit_api" id="radio_increase" value="INCREASE"> <input type="radio" name="radio_type_soa_edit_api" id="radio_increase"
value="INCREASE">
INCREASE INCREASE
</label> </label>
</div> </div>
<div class="radio"> <div class="radio">
<label> <label>
<input type="radio" name="radio_type_soa_edit_api" id="radio_epoch" value="EPOCH"> <input type="radio" name="radio_type_soa_edit_api" id="radio_epoch"
value="EPOCH">
EPOCH EPOCH
</label> </label>
</div> </div>
<div class="radio"> <div class="radio">
<label> <label>
<input type="radio" name="radio_type_soa_edit_api" id="radio_off" value="OFF"> OFF <input type="radio" name="radio_type_soa_edit_api" id="radio_off"
value="OFF"> OFF
</label> </label>
</div> </div>
</div> </div>
</div> </div>
<!-- /.card-body -->
<div class="card-footer"> <div class="card-footer">
<button type="button" class="btn btn-secondary" onclick="window.location.href='{{ url_for('dashboard.dashboard') }}'"> <button type="button" title="Cancel" class="btn btn-danger"
onclick="window.location.href='{{ url_for('dashboard.dashboard') }}'">
<i class="fa-solid fa-window-close"></i>&nbsp;Cancel <i class="fa-solid fa-window-close"></i>&nbsp;Cancel
</button> </button>
<button type="submit" class="btn btn-primary float-right"> <button type="submit" title="Create Zone" class="btn btn-primary float-right">
<i class="fa-solid fa-save"></i>&nbsp;Create <i class="fa-solid fa-save"></i>&nbsp;Create Zone
</button> </button>
</div> </div>
<!-- /.card-footer -->
</div>
<!-- /.card -->
</form> </form>
</div> </div>
</div> <!-- /.col -->
<div class="col-8"> <div class="col-12 col-sm-6 col-lg-8">
<div class="card"> <div class="card">
<div class="card-header"> <div class="card-header">
<h3 class="card-title">Help with creating a new domain</h3> <h3 class="card-title">Zone Field Details</h3>
</div> </div>
<!-- /.card-header -->
<div class="card-body"> <div class="card-body">
<dl class="dl-horizontal"> <dl class="dl-horizontal">
<dt>Domain name</dt> <dt>Zone Name</dt>
<dd>Enter your domain name in the format of name.tld (eg. powerdns-admin.com). You can also <dd>Enter your zone name in the format of name.tld (eg. powerdns-admin.com). You can
enter sub-domains to create a sub-root zone (eg. sub.powerdns-admin.com) in case you want to also enter sublevel zones to create delegate zones (eg. sub.powerdns-admin.com)
delegate sub-domain management to specific users. which can be useful for delegating control to other users.
</dd> </dd>
<dt>Type</dt> <dt>Zone Override Record</dt>
<dd>When enabled, this will allow the user to by-pass validation errors if the user
doesn't have administration rights to a parent zone.
</dd>
<dt>Account</dt>
<dd>Specifies the PowerDNS account value to use for the zone.</dd>
<dt>Zone Type</dt>
<dd>The type decides how the domain will be replicated across multiple DNS servers. <dd>The type decides how the domain will be replicated across multiple DNS servers.
<ul> <ul>
<li> <li>
<b>Native - </b>{{ SITE_NAME }} will not perform any Primary or Secondary zone functions. <strong>Native</strong> - The server will not perform any Primary or Secondary
zone functions.
</li> </li>
<li> <li>
<b>Primary - </b>{{ SITE_NAME }} will serve as the Primary and will send zone transfers <strong>Primary</strong> - The server will serve as the Primary and will send
(AXFRs) to other servers configured as secondaries. zone transfers (AXFRs) to other servers configured as secondaries.
</li> </li>
<li> <li>
<b>Secondary - </b>{{ SITE_NAME }} will serve as the Secondary and will request and receive <strong>Secondary</strong> - The server will serve as the Secondary and will
zone transfers (AXFRs) from other servers configured as Primaries. request and receive zone transfers (AXFRs) from other servers configured as
Primaries.
</li> </li>
</ul> </ul>
</dd> </dd>
<dt>Zone Template</dt>
<dd>Specifies the existing zone template which this zone should initially be replicated
from.
</dd>
<dt>SOA-EDIT-API</dt> <dt>SOA-EDIT-API</dt>
<dd>The SOA-EDIT-API setting defines how the SOA serial number will be updated after a change is <dd>The SOA-EDIT-API setting defines how the SOA serial number will be updated after a
change is
made to the domain. made to the domain.
<ul> <ul>
<li> <li>
<b>DEFAULT - </b>Generate a soa serial of YYYYMMDD01. If the current serial is lower than <strong>DEFAULT</strong> - Generate a soa serial of YYYYMMDD01. If the current serial
the generated serial, use the generated serial. If the current serial is higher or is lower than
the generated serial, use the generated serial. If the current serial is
higher or
equal to the generated serial, increase the current serial by 1. equal to the generated serial, increase the current serial by 1.
</li> </li>
<li> <li>
<b>INCREASE - </b>Increase the current serial by 1. <strong>INCREASE</strong> - Increase the current serial by 1.
</li> </li>
<li> <li>
<b>EPOCH - </b>Change the serial to the number of seconds since the EPOCH, aka unixtime. <strong>EPOCH</strong> - Change the serial to the number of seconds since the EPOCH,
AKA UNIX timestamps
</li> </li>
<li> <li>
<b>OFF - </b>Disable automatic updates of the SOA serial. <strong>OFF</strong> - Disable automatic updates of the SOA serial.
</li> </li>
</ul> </ul>
</dd> </dd>
</dl> </dl>
<p> <p>
Find more details at <a href="https://docs.powerdns.com/md/">https://docs.powerdns.com/md/</a> Find more details at <a href="https://docs.powerdns.com/md/" target="_blank">https://docs.powerdns.com/md/</a>
</p> </p>
</div> </div>
<!-- /.card-body -->
</div> </div>
<!-- /.card -->
</div> </div>
<!-- /.col -->
</div> </div>
<!-- /.row -->
</div> </div>
<!-- /.container-fluid -->
</section> </section>
{% endblock %} {% endblock %}
{% block head_styles %}
<style>
/* Page Specific Overrides */
</style>
{% endblock %}
{% block extrascripts %} {% block extrascripts %}
<script> <script>
$("input[name=radio_type]").change(function () { $("input[name=radio_type]").change(function () {
@ -220,7 +256,8 @@
<h4 class="modal-title"> <h4 class="modal-title">
WARNING WARNING
</h4> </h4>
<button type="button" class="close" data-dismiss="modal" aria-label="Close" id="button_close_warn_modal"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"
id="button_close_warn_modal">
<span aria-hidden="true">&times;</span> <span aria-hidden="true">&times;</span>
</button> </button>
</div> </div>
@ -228,7 +265,8 @@
<p></p> <p></p>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-primary center-block" data-dismiss="modal" id="button_confirm_warn_modal"> <button type="button" class="btn btn-primary center-block" data-dismiss="modal"
id="button_confirm_warn_modal">
CLOSE CLOSE
</button> </button>
</div> </div>