aboutsummaryrefslogtreecommitdiff
path: root/rpki/gui/app/templates/app/dashboard.html
diff options
context:
space:
mode:
Diffstat (limited to 'rpki/gui/app/templates/app/dashboard.html')
-rw-r--r--rpki/gui/app/templates/app/dashboard.html230
1 files changed, 230 insertions, 0 deletions
diff --git a/rpki/gui/app/templates/app/dashboard.html b/rpki/gui/app/templates/app/dashboard.html
new file mode 100644
index 00000000..65dbb90f
--- /dev/null
+++ b/rpki/gui/app/templates/app/dashboard.html
@@ -0,0 +1,230 @@
+{% extends "app/app_base.html" %}
+
+{# this can be removed when django 1.4 is EOL, because it is the default behavior in 1.5 #}
+{% load url from future %}
+
+{% block sidebar_extra %}
+ <li class="divider"></li>
+ <li><a href="{% url "rpki.gui.app.views.conf_export" %}" title="download XML identity to send to parent">
+ {#<i class="icon-download"></i> #}export identity</a></li>
+{% endblock sidebar_extra %}
+
+{% block content %}
+<div class='row-fluid'>
+ <div class='span6'>
+ <div class="page-header">
+ <h1>Resources</h1>
+ </div>
+
+ <table class='table table-condensed-table table-striped'>
+ <tr>
+ <th>Resource</th>
+ <th>Valid Until</th>
+ <th>Parent</th>
+ </tr>
+
+ {% for object in asns %}
+ <tr>
+ <td>{{ object }}</td>
+ <td>{{ object.cert.not_after }}</td>
+ <td>
+ {% if object.cert.parent %}
+ <a href="{{ object.cert.parent.get_absolute_url }}">{{ object.cert.parent.handle }}</a>
+ {% endif %}
+ </td>
+ </tr>
+ {% endfor %}
+
+ {% for object in prefixes %}
+ <tr>
+ <td>{{ object.as_resource_range }}</td>
+ <td>{{ object.cert.not_after }}</td>
+ <td>
+ {% if object.cert.parent %}
+ <a href="{{ object.cert.parent.get_absolute_url }}">{{ object.cert.parent.handle }}</a>
+ {% endif %}
+ </td>
+ </tr>
+ {% endfor %}
+
+ {% if prefixes_v6 %}
+ {% for object in prefixes_v6 %}
+ <tr>
+ <td>{{ object.as_resource_range }}</td>
+ <td>{{ object.cert.not_after }}</td>
+ <td>
+ {% if object.cert.parent %}
+ <a href="{{ object.cert.parent.get_absolute_url }}">{{ object.cert.parent.handle }}</a>
+ {% endif %}
+ </td>
+ </tr>
+ {% endfor %}
+ {% endif %}
+ </table>
+ <a class='btn' href="{% url "rpki.gui.app.views.refresh" %}" title="refresh resource list from rpkid"><i class="icon-refresh"></i> refresh</a></li>
+ </div>
+ <div class='span6'>
+ <h2>Unallocated Resources</h2>
+ <p>The following resources have not been allocated to a child, nor appear in a ROA.
+
+ {% if unused_asns %}
+ <h3>ASNs</h3>
+ <ul>
+ {% for asn in unused_asns %}
+ <li>AS{{ asn }}
+ {% endfor %} <!-- ASNs -->
+ </ul>
+ {% endif %}
+
+ {% if unused_prefixes %}
+ <h3>IPv4</h3>
+ <table class="table table-condensed table-striped">
+ <tr><th>Prefix</th><th>Action</th></tr>
+ {% for addr in unused_prefixes %}
+ <tr>
+ <td>{{ addr }}</td>
+ <td>
+ <a class="btn btn-mini" title="Create ROA using this prefix" href="{% url "rpki.gui.app.views.roa_create_multi" %}?roa={{ addr }}"><i class="icon-plus-sign"></i> ROA</a>
+ </td>
+ </tr>
+ {% endfor %} <!-- addrs -->
+ </table>
+ {% endif %}
+
+ {% if unused_prefixes_v6 %}
+ <h3>IPv6</h3>
+ <table class="table table-condensed table-striped">
+ <tr><th>Prefix</th><th></th></tr>
+ {% for addr in unused_prefixes_v6 %}
+ <tr>
+ <td>{{ addr }}</td>
+ <td>
+ <a class="btn btn-mini" title='create roa using this prefix' href="{% url "rpki.gui.app.views.roa_create_multi" %}?roa={{ addr }}"><i class="icon-plus-sign"></i> ROA</a>
+ </td>
+ </tr>
+ {% endfor %} <!-- addrs -->
+ </table>
+ {% endif %}
+
+ </div><!-- /span -->
+</div><!-- /row -->
+
+<div class="row-fluid">
+ <div class="span6">
+<div class="page-header">
+ <h1>ROAs</h1>
+</div>
+<table class="table table-condensed table-striped">
+ <tr><th>Prefix</th><th>Max Length</th><th>AS</th><th></th></tr>
+ {% for roa in conf.roas %}
+ <tr>
+ <!-- each roa request has a single roa request prefix object associated -->
+ <td>{{ roa.prefixes.all.0.as_roa_prefix }}</td>
+ <td>{{ roa.prefixes.all.0.max_prefixlen }}</td>
+ <td>{{ roa.asn }}</td>
+ <td>
+ <a class="btn btn-mini" href="{% url "rpki.gui.app.views.roa_detail" roa.pk %}" title="Detail"><i class="icon-info-sign"></i></a>
+ <a class="btn btn-mini" href="{% url "rpki.gui.app.views.roa_delete" roa.pk %}" title="Delete"><i class="icon-trash"></i></a>
+ <a class="btn btn-mini" href="{% url "roa-clone" roa.pk %}" title="create another ROA for this prefix"><i class="icon-repeat"></i></a>
+ </td>
+ </tr>
+ {% endfor %}
+</table>
+<a class="btn" href="{% url "rpki.gui.app.views.roa_create_multi" %}"><i class="icon-plus-sign"></i> Create</a>
+<a class="btn" href="{% url "roa-import" %}" title="import a CSV file containing ROAs"><i class="icon-upload"></i> Import</a>
+<a class="btn" href="{% url "roa-export" %}" title="download a CSV file containing ROAs"><i class="icon-download"></i> Export</a>
+</div>
+
+ <div class="span6">
+<div class="page-header">
+ <h1>Ghostbusters</h1>
+</div>
+<table class="table table-condensed table-striped">
+ <tr><th>Full Name</th><th>Organization</th><th>Email</th><th>Telephone</th><th></th></tr>
+ {% for gbr in conf.ghostbusters %}
+ <tr>
+ <td>{{ gbr.full_name }}</td>
+ <td>{{ gbr.organization }}</td>
+ <td>{{ gbr.email_address }}</td>
+ <td>{{ gbr.telephone }}</td>
+ <td>
+ <a class="btn btn-mini" href="{% url "gbr-detail" gbr.pk %}" title="View"><i class="icon-info-sign"></i></a>
+ <a class="btn btn-mini" href="{% url "gbr-edit" gbr.pk %}" title="Edit"><i class="icon-edit"></i></a>
+ <a class="btn btn-mini" href="{% url "gbr-delete" gbr.pk %}" title="Delete"><i class="icon-trash"></i></a>
+ </td>
+ </tr>
+ {% endfor %}
+</table>
+<a class="btn" href="{% url "gbr-create" %}"><i class="icon-plus-sign"></i> Create</a>
+</div><!-- /span -->
+</div><!-- /row -->
+
+<div class="row-fluid">
+ <div class="span6">
+ <div class="page-header">
+ <h1>Children</h1>
+ </div>
+<table class="table table-condensed table-striped">
+ <tr><th>Handle</th><th></th>
+ {% for child in conf.children %}
+ <tr>
+ <td><a href="{{ child.get_absolute_url }}">{{ child.handle }}</a></td>
+ <td>
+ <a class="btn btn-mini" href="{% url "rpki.gui.app.views.child_delete" child.pk %}" title="Delete"><i class="icon-trash"></i></a>
+ </td>
+ </tr>
+ {% endfor %}
+ </table>
+ <div class="row-fluid">
+ <div class='span6'>
+ <a class="btn" href="{% url "rpki.gui.app.views.child_import" %}" title="Import XML request from Child"><i class="icon-upload"></i> Child</a>
+ <a class="btn" href="{% url "import-asns" %}" title="Import CSV file containing ASN delgations to children"><i class="icon-upload"></i> ASNs</a>
+ <a class="btn" href="{% url "import-prefixes" %}" title="import CSV file containing prefix delgations to children"><i class="icon-upload"></i> Prefixes</a>
+ </div>
+ </div>
+ <div class="row-fluid">
+ <div class='span6'>
+ <a class="btn" href="{% url "export-asns" %}" title="Export CSV file containing ASN delgations to children"><i class="icon-download"></i> ASNs</a>
+ <a class="btn" href="{% url "export-prefixes" %}" title="Export CSV file containing prefix delgations to children"><i class="icon-download"></i> Prefixes</a>
+ </div>
+ </div>
+ </div><!-- /span -->
+ <div class="span6">
+ <div class="page-header">
+ <h1>Parents</h1>
+ </div>
+ <table class="table table-condensed table-striped">
+ <tr><th>Handle</th><th></th></tr>
+ {% for parent in conf.parents %}
+ <tr>
+ <td><a href="{{ parent.get_absolute_url }}">{{ parent.handle }}</a></td>
+ <td>
+ <a class="btn btn-mini" href="{% url "rpki.gui.app.views.parent_delete" parent.pk %}" title="Delete"><i class="icon-trash"></i></a>
+ </td>
+ </tr>
+ {% endfor %}
+ </table>
+ <a class="btn" href="{% url "rpki.gui.app.views.parent_import" %}"><i class="icon-upload"></i> Import</a>
+ </div><!-- /span -->
+</div><!-- /row -->
+
+<div class="row-fluid">
+ <div class="span6">
+ <div class="page-header">
+ <h1>Repositories</h1>
+ </div>
+<table class="table table-condensed table-striped">
+ <tr><th>Handle</th><th></th></tr>
+ {% for repo in conf.repositories %}
+ <tr>
+ <td><a href="{{ repo.get_absolute_url }}">{{ repo.handle }}</a></td>
+ <td>
+ <a class="btn btn-mini" href="{% url "rpki.gui.app.views.repository_delete" repo.pk %}" title="Delete"><i class="icon-trash"></i></a>
+ </td>
+ </tr>
+ {% endfor %}
+ </table>
+ <a class="btn" href="{% url "rpki.gui.app.views.repository_import" %}"><i class="icon-upload"></i> Import</a>
+ </div><!-- /span -->
+</div><!-- /row -->
+{% endblock %}