diff options
Diffstat (limited to 'rpkid/rpki/gui/app')
-rw-r--r-- | rpkid/rpki/gui/app/templates/asn_view.html | 87 | ||||
-rw-r--r-- | rpkid/rpki/gui/app/templates/child_view.html | 31 | ||||
-rw-r--r-- | rpkid/rpki/gui/app/templates/conf_empty.html | 8 | ||||
-rw-r--r-- | rpkid/rpki/gui/app/templates/conf_list.html | 17 | ||||
-rw-r--r-- | rpkid/rpki/gui/app/templates/dashboard.html | 136 | ||||
-rw-r--r-- | rpkid/rpki/gui/app/templates/parent_view.html | 25 | ||||
-rw-r--r-- | rpkid/rpki/gui/app/templates/prefix_view.html | 95 |
7 files changed, 399 insertions, 0 deletions
diff --git a/rpkid/rpki/gui/app/templates/asn_view.html b/rpkid/rpki/gui/app/templates/asn_view.html new file mode 100644 index 00000000..4417c576 --- /dev/null +++ b/rpkid/rpki/gui/app/templates/asn_view.html @@ -0,0 +1,87 @@ +{% extends "base.html" %} + +{% block css %} +table { border-collapse: collapse } +th { border: solid 1px; padding: 1em } +td { border: solid 1px; text-align: center; padding-left: 1em; padding-right: 1em } +{% endblock %} + +{% block content %} +<p>Handle: <a href="{% url rpki.gui.app.views.dashboard %}">{{ request.session.handle }}</a> + +<h1>ASN View</h1> + +<table> + <tr> <td>ASN:</td><td>{{ asn }}</td> </tr> + {% if asn.parent %} + <tr> + <td>Suballocated from:</td> + <td><a href="{{ asn.parent.get_absolute_url }}">{{ asn.parent }}</a></td> + </tr> + {% endif %} + <tr> + <td>Received from:</td> + <td> + {% for p in parent %} + <a href="{{ p.get_absolute_url }}">{{ p.handle }}</a> + {% endfor %} + </td> + </tr> + <tr><td>Validity:</td><td>{{ asn.from_cert.all.0.not_before }} - {{ asn.from_cert.all.0.not_after }} </td></tr> + + {% if asn.allocated %} + <tr><td>Allocated:</td><td><a href="{{asn.allocated.get_absolute_url}}">{{asn.allocated.handle}}</a></td></tr> + {% endif %} +</table> + +{% if asn.children.count %} +<h2>Suballocations</h2> + +<ul> +{% for subaddr in asn.children.all %} +<li><a href="{{ subaddr.get_absolute_url }}">{{ subaddr }}</a> +{% endfor %} +</ul> + +{% endif %} + +{% if roas %} +<h2>ROAs</h2> +<table> + <tr><th>Prefixes</th></tr> + {% for r in roas %} + <tr> + <td style='text-align: left'> + <ul> + {% for p in r.from_roa_request.all %} + <li><a href="{{ p.prefix.get_absolute_url }}">{{ p.prefix }}</a> + {% endfor %} + </ul> + </td> + </tr> + {% endfor %} + </ul> +</table> +{% endif %} <!-- roas --> + +{% if unallocated %} +<h2>Unallocated</h2> +<ul> +{% for u in unallocated %} +<li>{{ u }} +{% endfor %} +</ul> +{% endif %} + +{% if form %} +<h2>Edit</h2> +<form method="POST" action="{{ request.get_full_path }}">{% csrf_token %} + {{ form.as_p }} + <input type="submit"> +</form> +{% endif %} + +<p>Action: +<a href="{{asn.get_absolute_url}}/allocate">give to child</a> + +{% endblock %} diff --git a/rpkid/rpki/gui/app/templates/child_view.html b/rpkid/rpki/gui/app/templates/child_view.html new file mode 100644 index 00000000..9bcdf948 --- /dev/null +++ b/rpkid/rpki/gui/app/templates/child_view.html @@ -0,0 +1,31 @@ +{% extends "base.html" %} + +{% block content %} +<p>Handle: <a href="{% url rpki.gui.app.views.dashboard %}">{{ request.session.handle.handle }}</a> +<h1>Child View</h1> +<p>Child: {{ child.handle }}</p> +<p>Valid until: {{ child.valid_until }}</p> + +<h2>Delegated Addresses</h2> +{% if child.address_range.all %} +<ul> +{% for a in child.address_range.all %} +<li><a href="{{ a.get_absolute_url }}">{{ a }}</a></li> +{% endfor %} +</ul> +{% else %} +<p>--none--</p> +{% endif %} + +<h2>Delegated ASNs</h2> +{% if child.asn.all %} +<ul> +{% for a in child.asn.all %} +<li><a href="{{ a.get_absolute_url }}">{{ a }}</a></li> +{% endfor %} +</ul> +{% else %} +<p>--none--</p> +{% endif %} + +{% endblock %} diff --git a/rpkid/rpki/gui/app/templates/conf_empty.html b/rpkid/rpki/gui/app/templates/conf_empty.html new file mode 100644 index 00000000..0ef9366c --- /dev/null +++ b/rpkid/rpki/gui/app/templates/conf_empty.html @@ -0,0 +1,8 @@ +{% extends "base.html" %} + +{% block content %} + +<h1>Error!</h1> +<p>Your account does not have permission to manage any resource handles on this server. Please contact your portal-gui operator. + +{% endblock %} diff --git a/rpkid/rpki/gui/app/templates/conf_list.html b/rpkid/rpki/gui/app/templates/conf_list.html new file mode 100644 index 00000000..4bb18114 --- /dev/null +++ b/rpkid/rpki/gui/app/templates/conf_list.html @@ -0,0 +1,17 @@ +{% extends "base.html" %} + +{% block content %} +<h1>Handle List</h1> +<p>Please select a handle.</p> + +<ul> +{% for c in conf_list %} +<li><a href="{{ select_url }}?handle={{ c.handle }}&next={{ next_url }}">{{ c.handle }}</a></li> +{% endfor %} +</ul> + +<!-- +<p><a href="/myrpki/conf/add?next={{ next_url }}">[create]</a> +--> + +{% endblock %} diff --git a/rpkid/rpki/gui/app/templates/dashboard.html b/rpkid/rpki/gui/app/templates/dashboard.html new file mode 100644 index 00000000..dea03c31 --- /dev/null +++ b/rpkid/rpki/gui/app/templates/dashboard.html @@ -0,0 +1,136 @@ +{% extends "base.html" %} + +{% block css %} +table { border-collapse: collapse } +th { border: solid 1px; padding: 1em } +td { border: solid 1px; text-align: center; padding-left: 1em; padding-right: 1em } +{% endblock %} + +{% block content %} +<p>Handle: {{ request.session.handle }} +| <a href="{% url rpki.gui.app.views.conf_export %}">export identity</a> +| <a href="{% url rpki.gui.app.views.conf_list %}">select</a> + +<div style="border: inset"> +<h1 style="text-align: center">Parents</h1> + +<ul> +{% for parent in request.session.handle.parents.all %} +<li><a href="{{ parent.get_absolute_url }}">{{ parent.handle }}</a> +<p> +<table> +<tr><th>Accepted Resource</th><th>Not Before</th><th>Not After</th></tr> +{% for cert in parent.resources.all %} + +{% for asn in cert.asn.all %} +<tr><td style='text-align:left'><a href="{{ asn.get_absolute_url }}">{{ asn }}</a></td> +<td>{{cert.not_before}}</td> +<td>{{cert.not_after}}</td> +</tr> +{% endfor %} + +{% for address in cert.address_range.all %} +<tr> + <td style='text-align: left'><a href="{{ address.get_absolute_url }}">{{ address }}</a></td> + <td>{{cert.not_before}}</td> + <td>{{cert.not_after}}</td> +</tr> +{% endfor %} + +{% endfor %} <!--certs--> +</table> + +{% endfor %} +</ul> + +<!-- +<a href="/myrpki/import/parent">[add]</a> +--> +</div> + +<span> +<div style="border: outset"> +<h1 style="text-align: center">Children</h1> +{% if request.session.handle.children.all %} +<ul> +{% for child in request.session.handle.children.all %} +<li><a href="{% url rpki.gui.app.views.child_view child.handle %}">{{ child.handle }}</a>, valid until {{ child.valid_until }} +{% if child.address_range.count or child.asn.count %} +<p>Delegated resources: +<ul> +{% for asn in child.asn.all %} +<li><a href="{{ asn.get_absolute_url }}">{{ asn }}</a></li> +{% endfor %} +{% for address in child.address_range.all %} +<li><a href="{{ address.get_absolute_url}}">{{ address }}</a></li> +{% endfor %} +</ul> +{% endif %} +</li> +{% endfor %} +</ul> +<!-- +<a href="/myrpki/import/child">[add]</a> +--> +{% else %} +<p>-- none -- +{% endif %} + +<p> +Export (csv): <a href="{% url rpki.gui.app.views.download_asns request.session.handle %}">asns</a> | +<a href="{% url rpki.gui.app.views.download_prefixes request.session.handle %}">prefixes</a> + +</div> + +<div style="border: outset"> <!-- ROAs --> +<h1 style="text-align: center">My ROA [request]s</h1> + +<table> +<tr> <th>Prefix</th> <th>ASN</th> </tr> + +{% for roa in request.session.handle.roas.all %} +<tr> + <td style='text-align: left'> + <ul style='list-style-position: outside'> +{% for req in roa.from_roa_request.all %} + <li><a href="{{ req.prefix.get_absolute_url }}">{{ req.as_roa_prefix }}</a> +{% endfor %} + </ul> + </td> + <td>{{ roa.asn }}</td> +</tr> +{% endfor %} +</table> + +<p><a href="{% url rpki.gui.app.views.download_roas request.session.handle %}">export (csv)</a> + +</div><!-- roas --> + +<div style="border: outset"> + <h1 style="text-align: center">Unallocated Resources</h1> + {% if asns or ars %} + + {% if asns %} + <ul> + {% for asn in asns %} + <li>{{ asn.as_ul|safe }} + {% endfor %} <!-- ASNs --> + </ul> + {% endif %} + + {% if ars %} + <ul> + {% for addr in ars %} + <li>{{ addr.as_ul|safe }} + {% endfor %} <!-- addrs --> + </ul> + {% endif %} + + {% else %} + <p>-- none -- + {% endif %} + + </ul> +</div> +</span> +{% endblock %} diff --git a/rpkid/rpki/gui/app/templates/parent_view.html b/rpkid/rpki/gui/app/templates/parent_view.html new file mode 100644 index 00000000..13a9d848 --- /dev/null +++ b/rpkid/rpki/gui/app/templates/parent_view.html @@ -0,0 +1,25 @@ +{% extends "base.html" %} + +{% block content %} +<p>Handle: <a href="{% url rpki.gui.app.views.dashboard %}">{{ request.session.handle.handle }}</a> +<h1>Parent View</h1> +<p>Parent: {{ parent.handle }} +<h2>Delegated Addresses</h2> +<ul> +{% for c in parent.resources.all %} +{% for a in c.address_range.all %} +<li><a href="{{ a.get_absolute_url }}">{{ a }}</a> +{% endfor %} +{% endfor %} +</ul> + +<h2>Delegated ASNs</h2> +<ul> +{% for c in parent.resources.all %} +{% for a in c.asn.all %} +<li><a href="{{ a.get_absolute_url }}">{{ a }}</a> +{% endfor %} +{% endfor %} +</ul> + +{% endblock %} diff --git a/rpkid/rpki/gui/app/templates/prefix_view.html b/rpkid/rpki/gui/app/templates/prefix_view.html new file mode 100644 index 00000000..78e9958a --- /dev/null +++ b/rpkid/rpki/gui/app/templates/prefix_view.html @@ -0,0 +1,95 @@ +{% extends "base.html" %} + +{% block css %} +table { border: solid 1px; border-collapse: collapse } +th { border: solid 1px; padding: 1em } +td { border: solid 1px; text-align: center; padding-left: 1em; padding-right: 1em } +{% endblock %} + +{% block content %} +<p>Handle: <a href="{% url rpki.gui.app.views.dashboard %}">{{ request.session.handle }}</a> + +<h1>Prefix View</h1> + +<table> + <tr> <td>Range:</td><td>{{ addr }}</td> </tr> + {% if addr.parent %} + <tr> + <td>Suballocated from:</td> + <td><a href="{{ addr.parent.get_absolute_url }}">{{ addr.parent }}</a></td> + </tr> + {% endif %} + <tr> + <td>Received from:</td> + <td> + {% for p in parent %} + <a href="{{ p.get_absolute_url }}">{{ p.handle }}</a> + {% endfor %} + </td> + </tr> + <tr><td>Validity:</td><td>{{ addr.from_cert.all.0.not_before }} - {{ addr.from_cert.all.0.not_after }} </td></tr> + + {% if addr.allocated %} + <tr> + <td>Allocated:</td> + <td><a href="{{addr.allocated.get_absolute_url}}">{{ addr.allocated.handle }}</a></td> + </tr> + {% endif %} +</table> + +{% if addr.children.count %} +<h2>Suballocations</h2> +<ul> +{% for subaddr in addr.children.all %} + <li><a href="{{ subaddr.get_absolute_url }}">{{ subaddr }}</a> +{% endfor %} +</ul> +{% endif %} <!-- suballocations --> + +{% if addr.roa_requests.count %} +<h2>ROA requests</h2> +<table> + <tr><th>ASN</th><th>Max Length</th></tr> + + {% for r in addr.roa_requests.all %} + <tr> + <td>{{ r.roa.asn }}</td> + <td>{{ r.max_length }}</td> + <td><a href="{{ r.get_absolute_url }}/delete">delete</a></td> + </tr> + {% endfor %} +</table> +{% endif %} <!-- roa requests --> + +{% if unallocated %} +<h2>Unallocated</h2> +<ul> + {% for u in unallocated %} + <li>{{ u }} + {% endfor %} +</ul> +{% endif %} + +{% if form %} +<h2>Edit</h2> +<form method="POST" action="{{ request.get_full_path }}">{% csrf_token %} + {{ form.as_p }} + <input type="submit"> +</form> +{% endif %} <!-- form --> + +<p>Action:<br> +{% if not addr.allocated %} +<a href="{{addr.get_absolute_url}}/split">split</a><br> +{% endif %} +{% if not addr.roa_requests.all %} +<a href="{{addr.get_absolute_url}}/allocate">give to child</a><br> +{% endif %} +{% if addr.is_prefix and not addr.allocated %} +<a href="{{ addr.get_absolute_url }}/roa">roa</a><br> +{% endif %} +{% if not addr.allocated and addr.parent %} +<a href="{{ addr.get_absolute_url }}/delete">delete</a><br> +{% endif %} + +{% endblock %} |