1 [%# <!-- This -*- HTML -*- template is part of Regano.
2 Regano is free software and may be redistributed and/or modified
3 under the same terms as Perl itself. --> ~%]
6 title = 'Regano Domain Management'
7 style = "body { z-index: 1; }
8 .has-help { position: relative; top: 0; left: 0; }
10 background-color: white;
11 border: 1px solid black;
19 .has-help > .help > p {
20 background-color: #def;
21 border: 1px solid black;
23 .has-help:hover > .help { display: block }
25 .infotable .infotop { text-align: center }
26 .infotable th { text-align: right }
27 .infotable td { text-align: center }
29 td > table { width: 100% }
30 td > input[type='text'] { width: 100% }
32 [%~ navPage = [ 'registrar' 'domain' domain_name ] ~%]
33 [%# <!-- To be wrapped inside "main-copy" div. --> -%]
34 <h1>[% regano.config.InstanceName | html %] registry — Manage Domain — [% name %]</h1>
37 <div style="margin: 3em; text-align: center">
38 [% FOREACH message IN status -%]
39 [% SWITCH message.0 -%]
41 <div class="notify_errors">
42 The database reported an error: [% message.1 %]
44 [% CASE "default_ttl_changed" %]
45 <div class="notify_success">
46 The default TTL for [% name %] has been changed.
48 [% CASE "edit_in_progress" %]
49 <div class="notify_notes">
50 <p>The displayed records reflect edits in this session that have not yet
52 <p><a href="[% regano.uri_for_action('/zone/index',name) %]">Currently
53 published records for this zone</a></p>
55 [% CASE "publish_error" -%]
56 <div class="notify_errors">
57 An error occurred while publishing record [% message.1 %]: [% message.2 %]
64 <form action="[% regano.uri_for_action('/registrar/domain/manage') %]" method="POST">
65 <input type="hidden" name="domain_name" value="[% name %]">
66 <table class="infotable" style="margin: 1em auto">
68 <th class="infotop" colspan="6">[% name %]</th>
71 <td rowspan="7" style="visibility: hidden"></td>
72 <th colspan="2">Status</th>
73 <td [%= SWITCH domain.status ~%]
74 [%~ CASE "REGISTERED" ~%] style="color: green"
75 [%~ CASE "EXPIRED" ~%] style="color: red"
76 [%~ END %] colspan="3">[% domain.status %]
77 [%~ IF domain.status == "EXPIRED" ~%]
78 <input type="submit" name="action" value="Renew Now">
83 <th colspan="2">Expiration</th>
84 <td colspan="3">[% domain.expiration %]</td>
87 <th colspan="2">Registered</th>
88 <td colspan="3">[% domain.registered %]</td>
91 <th colspan="2">Last Modified</th>
92 <td colspan="3">[% domain.last_update %]</td>
95 <th colspan="2" rowspan="2">Actions</th>
97 <div class="has-help">
98 <input type="submit" name="action" value="Renew">
100 <p>Renewing a domain extends the expiration to one full domain
108 <div class="has-help">
109 <input type="submit" name="action" value="Release">
111 <p>Releasing a domain causes the registration to expire
112 immediately. You can still change your mind within the
113 expiration grace period, but the domain will be available for
114 anyone to register after that.</p>
120 <th colspan="2"><label for="default-ttl">Default TTL</label></th>
122 <div class="has-help">
123 <input type="text" id="default-ttl" size="20"
124 name="default_ttl" value="[% domain.default_ttl %]">
125 <input type="submit" name="action" value="Update TTL">
127 <p>The default TTL is used for records that do not specify a
128 TTL. The TTL is the amount of time that a cached copy of the
129 record remains valid. Any of the formats accepted by the
130 database may be used to enter a value. Intervals less than a
131 day are displayed as HH:MM:SS.</p>
136 <tr><th colspan="6" class="infotop">Records</th></tr>
139 <th colspan="2">Position</th>
141 <input type="text" name="del_record_seq_no" value="1" size="4">
143 <td style="text-align: right">
144 <input type="submit" name="action" value="Delete Record">
147 <tr><td colspan="6"></td></tr>
150 <input type="text" name="ins_record_seq_no" value="1" size="4">
153 <input type="text" name="ins_record_name" value="" size="10">
155 <th colspan="2" style="text-align: center">Insert</th>
157 <select name="ins_record_type" size="1">
158 [% FOREACH type IN regano.config.RRTypes %]
159 [% IF type == "SOA" && records.0.type == "SOA" %]
160 <!-- no more than one SOA record per zone -->
162 <option[% IF type == 'A' =%]
163 selected[% END %]>[% type %]</option>
168 <td style="text-align: left">
169 <input type="submit" name="action" value="Insert Record">
173 <th class="infotop">Seq</th>
174 <th class="infotop">Name</th>
175 <th class="infotop">TTL</th>
176 <th class="infotop">Class</th>
177 <th class="infotop">Type</th>
178 <td style="border:none; background: none; text-align: right">
179 <input type="submit" name="action" value="Update">
182 [% FOREACH record IN records %]
185 [% IF record.type == "SOA" %]
187 <input type="hidden" name="zone_r0_seq_no" value="0">
189 <input type="text" size="2"
190 name="zone_r[% record.seq_no %]_seq_no"
191 value="[% record.seq_no %]">
195 [% IF record.type == "SOA" %]
198 <input type="text" size="10"
199 name="zone_r[% record.seq_no %]_name"
200 value="[% record.name %]">
204 <input type="text" size="5"
205 name="zone_r[% record.seq_no %]_ttl"
206 value="[% record.ttl %]">
210 [% IF record.type == "SOA" %]
212 <input type="hidden" name="zone_r0_type" value="SOA">
214 <select name="zone_r[% record.seq_no %]_type" size="1">
215 [% FOREACH type IN regano.config.RRTypes %]
216 [% IF type != "SOA" %]
217 <option[% IF type == record.type =%]
218 selected[% END %]>[% type %]</option>
225 [% SWITCH record.type %]
226 [% CASE ["A", "AAAA"] %]
228 name="zone_r[% record.seq_no %]_data"
229 value="[% record.data.address %]">
230 [% CASE ["CNAME", "DNAME", "NS", "PTR"] %]
232 name="zone_r[% record.seq_no %]_data"
233 value="[% record.data.name %]">
234 [% CASE ["SPF", "TXT"] %]
236 name="zone_r[% record.seq_no %]_data"
237 value="[% record.data.text %]">
244 name="zone_r[% record.seq_no %]_data_DS_key_tag"
245 value="[% record.data.key_tag %]">
252 name="zone_r[% record.seq_no %]_data_DS_algorithm"
253 value="[% record.data.algorithm %]">
260 name="zone_r[% record.seq_no %]_data_DS_digest_type"
261 value="[% record.data.digest_type %]">
268 name="zone_r[% record.seq_no %]_data_DS_digest"
269 value="[% record.data.digest %]">
279 name="zone_r[% record.seq_no %]_data_MX_preference"
280 value="[% record.data.preference %]">
287 name="zone_r[% record.seq_no %]_data_MX_exchange"
288 value="[% record.data.exchange %]">
298 name="zone_r[% record.seq_no %]_data_SRV_priority"
299 value="[% record.data.priority %]">
306 name="zone_r[% record.seq_no %]_data_SRV_weight"
307 value="[% record.data.weight %]">
314 name="zone_r[% record.seq_no %]_data_SRV_port"
315 value="[% record.data.port %]">
322 name="zone_r[% record.seq_no %]_data_SRV_target"
323 value="[% record.data.target %]">
332 [% IF name.match('^@+') %]
334 name="zone_r0_data_SOA_master"
335 value="[% record.data.master %]">
337 [% record.data.master %]
339 name="zone_r0_data_SOA_master"
340 value="[% record.data.master %]">
348 name="zone_r0_data_SOA_mbox"
349 value="[% record.data.mbox %]">
356 name="zone_r0_data_SOA_refresh"
357 value="[% record.data.refresh %]">
364 name="zone_r0_data_SOA_retry"
365 value="[% record.data.retry %]">
372 name="zone_r0_data_SOA_expire"
373 value="[% record.data.expire %]">
380 name="zone_r0_data_SOA_minimum"
381 value="[% record.data.minimum %]">
386 <p style="color: red; font-weight: bold">
387 BUG: unknown record type [% record.type %]
394 <td colspan="6" style="border:none; background:none">
395 <input type="submit" name="action" value="Cancel Edit">
396 <input type="reset" value="Reset Form">
397 <input type="submit" name="action" value="Reload from database">
398 <input type="submit" name="action" value="Update">
399 <input type="submit" name="action" value="Publish">
405 <!-- LocalWords: regano InstanceName html navPage FOREACH infotable infotop
407 <!-- LocalWords: th px td ttl HH CNAME DNAME DS MX PTR SRV TXT RRTypes SOA
409 <!-- LocalWords: AAAA mbox dberr