100 lines
4.1 KiB
HTML
100 lines
4.1 KiB
HTML
{{ define "content" }}
|
|
<div class="page-header d-print-none">
|
|
<div class="row align-items-center">
|
|
<div class="col">
|
|
<div class="page-pretitle">Zona</div>
|
|
<h2 class="page-title">{{ .Zone.Name }}</h2>
|
|
<div class="text-secondary">{{ len .Zone.RRSets }} conjuntos de registros</div>
|
|
</div>
|
|
<div class="col-auto ms-auto">
|
|
<div class="btn-list">
|
|
<a class="btn btn-outline-secondary" href="/zones">Voltar para zonas</a>
|
|
<a class="btn btn-primary" href="/zones/{{ .ZoneID }}/rrsets/new">Adicionar registro</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card">
|
|
<div class="card-header">
|
|
<h3 class="card-title">Registros</h3>
|
|
</div>
|
|
{{ if .Zone.RRSets }}
|
|
<div class="table-responsive">
|
|
<table class="table table-vcenter card-table" data-sortable-table>
|
|
<thead>
|
|
<tr>
|
|
<th scope="col">
|
|
<button class="table-sort" type="button" data-sort-index="0" data-sort-type="text">
|
|
Nome <span class="sort-indicator" aria-hidden="true"></span>
|
|
</button>
|
|
</th>
|
|
<th scope="col">
|
|
<button class="table-sort" type="button" data-sort-index="1" data-sort-type="text">
|
|
Tipo <span class="sort-indicator" aria-hidden="true"></span>
|
|
</button>
|
|
</th>
|
|
<th scope="col">
|
|
<button class="table-sort" type="button" data-sort-index="2" data-sort-type="number">
|
|
TTL <span class="sort-indicator" aria-hidden="true"></span>
|
|
</button>
|
|
</th>
|
|
<th scope="col">
|
|
<button class="table-sort" type="button" data-sort-index="3" data-sort-type="text">
|
|
Registros <span class="sort-indicator" aria-hidden="true"></span>
|
|
</button>
|
|
</th>
|
|
<th class="w-1"></th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{{ range .Zone.RRSets }}
|
|
{{ $dynamic := dynamicRRSet $.Dynamic . }}
|
|
<tr {{ if $dynamic }}class="table-info"{{ end }}>
|
|
<td class="text-nowrap" data-sort-value="{{ .Name }}">{{ .Name }}</td>
|
|
<td data-sort-value="{{ .Type }}">
|
|
<span class="badge bg-azure-lt">{{ .Type }}</span>
|
|
{{ if $dynamic }}<span class="badge bg-green-lt">DNS dinamico</span>{{ end }}
|
|
</td>
|
|
<td data-sort-value="{{ .TTL }}">{{ .TTL }}</td>
|
|
<td>
|
|
<div class="record-values">
|
|
{{ range .Records }}
|
|
<div><code>{{ .Content }}</code></div>
|
|
{{ end }}
|
|
</div>
|
|
</td>
|
|
<td>
|
|
<div class="btn-list flex-nowrap">
|
|
<a class="btn btn-outline-primary btn-sm" href="/zones/{{ $.ZoneID }}/rrsets/edit?name={{ urlQuery .Name }}&type={{ urlQuery .Type }}">Editar</a>
|
|
{{ if $dynamic }}
|
|
<form method="post" action="/zones/{{ $.ZoneID }}/rrsets/dyndns/regenerate">
|
|
<input type="hidden" name="csrf_token" value="{{ $.CSRFToken }}">
|
|
<input type="hidden" name="name" value="{{ .Name }}">
|
|
<input type="hidden" name="type" value="{{ .Type }}">
|
|
<button class="btn btn-outline-success btn-sm" type="submit">Regenerar token</button>
|
|
</form>
|
|
{{ end }}
|
|
{{ if not (isSOA .Type) }}
|
|
<form method="post" action="/zones/{{ $.ZoneID }}/rrsets/delete">
|
|
<input type="hidden" name="csrf_token" value="{{ $.CSRFToken }}">
|
|
<input type="hidden" name="name" value="{{ .Name }}">
|
|
<input type="hidden" name="type" value="{{ .Type }}">
|
|
<button class="btn btn-outline-danger btn-sm" type="submit">Excluir</button>
|
|
</form>
|
|
{{ end }}
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
{{ end }}
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
{{ else }}
|
|
<div class="card-body text-secondary">Nenhum registro retornado para esta zona.</div>
|
|
{{ end }}
|
|
</div>
|
|
{{ end }}
|
|
|
|
{{ template "layout" . }}
|