aboutsummaryrefslogtreecommitdiff
path: root/rpkid/rpki/gui/app
diff options
context:
space:
mode:
Diffstat (limited to 'rpkid/rpki/gui/app')
-rw-r--r--rpkid/rpki/gui/app/templates/app/app_form.html17
-rw-r--r--rpkid/rpki/gui/app/templates/app/bootstrap_form.html33
-rw-r--r--rpkid/rpki/gui/app/templates/app/child_form.html17
-rw-r--r--rpkid/rpki/gui/app/templates/app/child_import_form.html20
-rw-r--r--rpkid/rpki/gui/app/templates/app/client_import_form.html13
-rw-r--r--rpkid/rpki/gui/app/templates/app/dashboard.html8
-rw-r--r--rpkid/rpki/gui/app/templates/app/ghostbuster_form.html21
-rw-r--r--rpkid/rpki/gui/app/templates/app/ghostbusterrequest_detail.html2
-rw-r--r--rpkid/rpki/gui/app/templates/app/object_detail.html26
-rw-r--r--rpkid/rpki/gui/app/templates/app/object_list.html6
-rw-r--r--rpkid/rpki/gui/app/templates/app/object_table.html10
-rw-r--r--rpkid/rpki/gui/app/templates/app/parent_detail.html2
-rw-r--r--rpkid/rpki/gui/app/templates/app/parent_import_form.html20
-rw-r--r--rpkid/rpki/gui/app/templates/app/repository_import_form.html18
-rw-r--r--rpkid/rpki/gui/app/templates/app/roa_request_confirm_delete.html4
-rw-r--r--rpkid/rpki/gui/app/templates/app/roarequest_confirm_form.html18
-rw-r--r--rpkid/rpki/gui/app/templates/app/roarequest_form.html17
-rw-r--r--rpkid/rpki/gui/app/templates/app/routes_view.html2
-rw-r--r--rpkid/rpki/gui/app/templates/app/update_bpki_form.html2
-rw-r--r--rpkid/rpki/gui/app/templates/app/user_create_form.html16
-rw-r--r--rpkid/rpki/gui/app/templates/app/user_edit_form.html16
-rw-r--r--rpkid/rpki/gui/app/templates/app/user_list.html2
-rw-r--r--rpkid/rpki/gui/app/templates/base.html49
-rw-r--r--rpkid/rpki/gui/app/views.py55
24 files changed, 120 insertions, 274 deletions
diff --git a/rpkid/rpki/gui/app/templates/app/app_form.html b/rpkid/rpki/gui/app/templates/app/app_form.html
new file mode 100644
index 00000000..b23183e0
--- /dev/null
+++ b/rpkid/rpki/gui/app/templates/app/app_form.html
@@ -0,0 +1,17 @@
+{% extends "app/app_base.html" %}
+{% load crispy_forms_tags %}
+
+{% block content %}
+<div class="page-header">
+ <h1>{{ form_title }}</h1>
+</div>
+
+<form method='POST' action='{{ request.get_full_path }}'>
+ {% csrf_token %}
+ {{ form|crispy }}
+ <div class='form-actions'>
+ <input class='btn btn-primary' type='submit' value='Save'>
+ <a class='btn' href="{% if cancel_url %}{{ cancel_url }}{% else %}{% url rpki.gui.app.views.dashboard %}{% endif %}">Cancel</a>
+ </div>
+</form>
+{% endblock %}
diff --git a/rpkid/rpki/gui/app/templates/app/bootstrap_form.html b/rpkid/rpki/gui/app/templates/app/bootstrap_form.html
deleted file mode 100644
index bf8b3553..00000000
--- a/rpkid/rpki/gui/app/templates/app/bootstrap_form.html
+++ /dev/null
@@ -1,33 +0,0 @@
-{# vim:set ft=htmldjango #}
-
-{% if form.non_field_errors %}
-<div class='alert-message error'>
- <p>{{ form.non_field_errors }}
-</div>
-{% endif %}
-
-{% for field in form %}
-
-{% if field.is_hidden %}
- {{ field }}
-{% else %}
- <div class='clearfix {% if field.errors %}error{% endif %}'>
- {{ field.label_tag }}
- {% if field.required %}*{% endif %}
- <div class='input'>
- {{ field }}
- {% if field.help_text %}
- <span class='help-inline'>{{ field.help_text }}</span>
- {% endif %}
- {% if field.errors %}
- <ul>
- {% for error in field.errors %}
- <li class='help-inline'>{{ error }}</li>
- {% endfor %}
- </ul>
- {% endif %}
- </div><!-- input -->
- </div><!-- clearfix -->
-{% endif %}
-
-{% endfor %}
diff --git a/rpkid/rpki/gui/app/templates/app/child_form.html b/rpkid/rpki/gui/app/templates/app/child_form.html
deleted file mode 100644
index cd9b2a8c..00000000
--- a/rpkid/rpki/gui/app/templates/app/child_form.html
+++ /dev/null
@@ -1,17 +0,0 @@
-{% extends "app/app_base.html" %}
-
-{% block content %}
-<div class='page-header'>
- <h1>Edit Child: {{ object.handle }}</h1>
-</div>
-
-<form method='POST' action='{{ request.get_full_path }}'>
- {% csrf_token %}
- {% include "app/bootstrap_form.html" %}
- <div class='actions'>
- <input class='btn primary' type='submit' value='Save'>
- <a class='btn' href="{{ object.get_absolute_url }}">Cancel</a>
- </div>
-</form>
-
-{% endblock %}
diff --git a/rpkid/rpki/gui/app/templates/app/child_import_form.html b/rpkid/rpki/gui/app/templates/app/child_import_form.html
deleted file mode 100644
index 4b0cf9d2..00000000
--- a/rpkid/rpki/gui/app/templates/app/child_import_form.html
+++ /dev/null
@@ -1,20 +0,0 @@
-{% extends "app/app_base.html" %}
-
-{% block content %}
-
-<div class='page-header'>
- <h1>Import Child</h1>
-</div>
-
-<form enctype="multipart/form-data" method="POST" action="{{ request.get_full_path }}">
- {% csrf_token %}
- {% include "app/bootstrap_form.html" %}
- <div class='actions'>
- <input class='btn primary' type="submit" value="Import">
- <a class='btn' href="{% url rpki.gui.app.views.child_list %}">Cancel</a>
- </div>
-</form>
-
-{% endblock %}
-
-<!-- vim: set sw=2: -->
diff --git a/rpkid/rpki/gui/app/templates/app/client_import_form.html b/rpkid/rpki/gui/app/templates/app/client_import_form.html
deleted file mode 100644
index acd6bf61..00000000
--- a/rpkid/rpki/gui/app/templates/app/client_import_form.html
+++ /dev/null
@@ -1,13 +0,0 @@
-{% extends "base.html" %}
-
-{% block content %}
-
-<form enctype="multipart/form-data" method="POST" action="{{ request.get_full_path }}">
- {% csrf_token %}
- <table>
-{{ form.as_table }}
-</table>
-<input type="submit" value="Import">
-</form>
-
-{% endblock %}
diff --git a/rpkid/rpki/gui/app/templates/app/dashboard.html b/rpkid/rpki/gui/app/templates/app/dashboard.html
index d346ce88..1ad4eece 100644
--- a/rpkid/rpki/gui/app/templates/app/dashboard.html
+++ b/rpkid/rpki/gui/app/templates/app/dashboard.html
@@ -11,14 +11,14 @@
{% endblock sidebar_extra %}
{% block content %}
-<div class='page-header'>
+<div class="page-header">
<h1>Dashboard</h1>
</div>
<div class='row'>
- <div class='span10'>
+ <div class='span6'>
<h2>Resources</h2>
- <table class='condensed-table zebra-striped'>
+ <table class='table table-condensed-table table-striped'>
<tr>
<th>Resource</th>
<th>Valid Until</th>
@@ -64,7 +64,7 @@
{% endif %}
</table>
</div>
- <div class='span6'>
+ <div class='span4'>
<h2>Unallocated Resources</h2>
<p>The following resources have not been allocated to a child, nor appear in a ROA.
diff --git a/rpkid/rpki/gui/app/templates/app/ghostbuster_form.html b/rpkid/rpki/gui/app/templates/app/ghostbuster_form.html
deleted file mode 100644
index b6f28815..00000000
--- a/rpkid/rpki/gui/app/templates/app/ghostbuster_form.html
+++ /dev/null
@@ -1,21 +0,0 @@
-{% extends "app/app_base.html" %}
-
-{% block content %}
-
-<div class='page-header'>
- <h1>Edit Ghostbuster Request</h1>
-</div>
-
-<form action='{{ request.get_full_path }}' method='POST'>
- {% csrf_token %}
-
- {# include code to render form using Twitter Bootstrap CSS Framework #}
- {% include "app/bootstrap_form.html" %}
-
- <div class='actions'>
- <input class='btn primary' type='submit' value='Save'>
- <a class='btn' href="{{ object.get_absolute_url }}">Cancel</a>
- </div>
-
-</form>
-{% endblock %}
diff --git a/rpkid/rpki/gui/app/templates/app/ghostbusterrequest_detail.html b/rpkid/rpki/gui/app/templates/app/ghostbusterrequest_detail.html
index fa8915e4..f3b76fe8 100644
--- a/rpkid/rpki/gui/app/templates/app/ghostbusterrequest_detail.html
+++ b/rpkid/rpki/gui/app/templates/app/ghostbusterrequest_detail.html
@@ -1,7 +1,7 @@
{% extends "app/object_detail.html" %}
{% block object_detail %}
-<table class='zebra-striped condensed-table'>
+<table class='table table-striped table-condensed'>
<tr><td >Full Name</td><td>{{ object.full_name }}</td></tr>
{% if object.honorific_prefix %}
diff --git a/rpkid/rpki/gui/app/templates/app/object_detail.html b/rpkid/rpki/gui/app/templates/app/object_detail.html
index 3927bfd5..42955ce4 100644
--- a/rpkid/rpki/gui/app/templates/app/object_detail.html
+++ b/rpkid/rpki/gui/app/templates/app/object_detail.html
@@ -1,5 +1,6 @@
{% extends "app/app_base.html" %}
{% load app_extras %}
+{% load crispy_forms_tags %}
{% block content %}
<div class='page-header'>
@@ -14,8 +15,8 @@
<h2>{{ form_label }}<h2>
{% if is_preview %}
- <h3>Preview</h3>
- <table>
+ <h3>Preview</h3>
+ <table class="table table-striped table-condensed">
{% for field in form %}
<tr>
<th>{{ field.label }}:</th>
@@ -32,8 +33,8 @@
{% endfor %}
<input type="hidden" name="{{ stage_field }}" value="2" />
<input type="hidden" name="{{ hash_field }}" value="{{ hash_value }}" />
- <div class='actions'>
- <input class='btn primary' type="submit" value="Save" /></p>
+ <div class='form-actions'>
+ <input class='btn btn-primary' type="submit" value="Save" /></p>
</div>
</form>
@@ -44,9 +45,10 @@
<!-- this form is used by django.contrib.formtools -->
<form method='POST' action=''>
{% csrf_token %}
- {% include "app/bootstrap_form.html" %}
- <div class='actions'>
- <input class='btn primary' type='submit' value='Preview'>
+ {{ form|crispy }}
+
+ <div class='form-actions'>
+ <input class='btn btn-primary' type='submit' value='Preview'>
<a class='btn' href='{{ object.get_absolute_url }}'>Cancel</a>
</div>
<input type="hidden" name="{{ stage_field }}" value="1" />
@@ -54,24 +56,24 @@
{% else %}
{% if confirm_delete %}
- <div class='alert-message block-message warning'>
+ <div class='alert alert-block alert-warning'>
<p><strong>Please confirm</strong> that you would like to delete this object.
<div class='alert-actions'>
<form method='POST' action='{{ request.get_full_path }}'>
{% csrf_token %}
- <input class='btn danger' type='submit' value='Delete'/>
+ <input class='btn btn-danger' type='submit' value='Delete'/>
<a class='btn' href='{{ object.get_absolute_url }}'>Cancel</a>
</form>
</div>
</div>
{% else %}
- <div class='actions'>
+
{% if can_edit %}
<a class='btn' href='{{ object.get_absolute_url }}/edit'>Edit</a>
{% endif %}
- <a class='btn danger' href='{{ object.get_absolute_url }}/delete' title='Permanently delete this object'>Delete</a>
+ <a class='btn btn-danger' href='{{ object.get_absolute_url }}/delete' title='Permanently delete this object'>Delete</a>
{% block actions %}{% endblock actions %}
- </div>
+
{% endif %}
{% endif %}
{% endblock content %}
diff --git a/rpkid/rpki/gui/app/templates/app/object_list.html b/rpkid/rpki/gui/app/templates/app/object_list.html
index e78eab98..eee08170 100644
--- a/rpkid/rpki/gui/app/templates/app/object_list.html
+++ b/rpkid/rpki/gui/app/templates/app/object_list.html
@@ -18,8 +18,8 @@
{% endfor %}
</ul>
{% else %}
-<div class='alert-message warning'>
- <p>There are <strong>no items</strong> in this list.
+<div class='alert alert-warning'>
+ There are <strong>no items</strong> in this list.
</div>
{% endif %}
@@ -32,5 +32,3 @@
{% endblock %}
{% endblock %}
-
-<!-- vim: set sw=2: -->
diff --git a/rpkid/rpki/gui/app/templates/app/object_table.html b/rpkid/rpki/gui/app/templates/app/object_table.html
index 4d154490..6a3ade84 100644
--- a/rpkid/rpki/gui/app/templates/app/object_table.html
+++ b/rpkid/rpki/gui/app/templates/app/object_table.html
@@ -10,7 +10,7 @@
</div>
{% if object_list %}
-<table style='zebra-striped condensed-table'>
+<table style='table table-striped table-condensed'>
<tr>
{% block table_header %}{% endblock %}
</tr>
@@ -23,16 +23,14 @@
{% endfor %}
</table>
{% else %}
-<div class='alert-message warning'>
- <p>There are <strong>no items</strong> in this list.
+<div class='alert alert-warning'>
+ There are <strong>no items</strong> in this list.
</div>
{% endif %}
{% block actions %}
{% if create_url %}
-<div class='actions'>
- <a class='btn' href='{{ create_url }}'>{{ create_label|default:"Create" }}</a>
-</div>
+<a class='btn' href='{{ create_url }}'>{{ create_label|default:"Create" }}</a>
{% endif %}
{% endblock %}
diff --git a/rpkid/rpki/gui/app/templates/app/parent_detail.html b/rpkid/rpki/gui/app/templates/app/parent_detail.html
index e5703074..6fcccf79 100644
--- a/rpkid/rpki/gui/app/templates/app/parent_detail.html
+++ b/rpkid/rpki/gui/app/templates/app/parent_detail.html
@@ -3,7 +3,7 @@
{% block object_detail %}
<h2>{{ object.handle }}</h2>
-<table>
+<table class="table table-striped table-condensed">
<tr>
<td>service_uri</td>
<td>{{ object.service_uri }}</td>
diff --git a/rpkid/rpki/gui/app/templates/app/parent_import_form.html b/rpkid/rpki/gui/app/templates/app/parent_import_form.html
deleted file mode 100644
index c192a4a4..00000000
--- a/rpkid/rpki/gui/app/templates/app/parent_import_form.html
+++ /dev/null
@@ -1,20 +0,0 @@
-{% extends "app/app_base.html" %}
-
-{% block content %}
-
-<div class='page-header'>
- <h1>Import Parent</h1>
-</div>
-
-<form enctype="multipart/form-data" method="POST" action="{{ request.get_full_path }}">
- {% csrf_token %}
- {% include "app/bootstrap_form.html" %}
- <div class='actions'>
- <input class='btn primary' type="submit" value="Import">
- <a class='btn' href="{% url rpki.gui.app.views.parent_list %}">Cancel</a>
- </div>
-</form>
-
-{% endblock content %}
-
-<!-- vim: set sw=2: -->
diff --git a/rpkid/rpki/gui/app/templates/app/repository_import_form.html b/rpkid/rpki/gui/app/templates/app/repository_import_form.html
deleted file mode 100644
index bf79e59c..00000000
--- a/rpkid/rpki/gui/app/templates/app/repository_import_form.html
+++ /dev/null
@@ -1,18 +0,0 @@
-{% extends "app/app_base.html" %}
-
-{% block content %}
-
-<div class='page-header'>
- <h1>Import Repository</h1>
-</div>
-
-<form enctype="multipart/form-data" method="POST" action="{{ request.get_full_path }}">
- {% csrf_token %}
- {% include "app/bootstrap_form.html" %}
- <div class='actions'>
- <input class='btn primary' type="submit" value="Import">
- <a class='btn' href="{% url rpki.gui.app.views.repository_list %}">Cancel</a>
- </div>
-</form>
-
-{% endblock content %}
diff --git a/rpkid/rpki/gui/app/templates/app/roa_request_confirm_delete.html b/rpkid/rpki/gui/app/templates/app/roa_request_confirm_delete.html
index 4c8228b6..522ad97c 100644
--- a/rpkid/rpki/gui/app/templates/app/roa_request_confirm_delete.html
+++ b/rpkid/rpki/gui/app/templates/app/roa_request_confirm_delete.html
@@ -10,7 +10,7 @@
<div class='alert-message block-message warning'>
<p><strong>Please confirm</strong> that you would like to delete the following ROA Request. The table to the right indicates how validation status for matching routes may change.
- <table style='condensed-table'>
+ <table style='table table-striped table-condensed'>
<tr>
<th>Prefix</th>
<th>Max Length</th>
@@ -35,7 +35,7 @@
<div class='span8'>
<h2>Matching Routes</h2>
- <table style='zebra-striped condensed-table'>
+ <table style='table table-striped table-condensed'>
<tr>
<th>Prefix</th>
<th>Origin AS</th>
diff --git a/rpkid/rpki/gui/app/templates/app/roarequest_confirm_form.html b/rpkid/rpki/gui/app/templates/app/roarequest_confirm_form.html
index 60d0b0fe..d8f05f92 100644
--- a/rpkid/rpki/gui/app/templates/app/roarequest_confirm_form.html
+++ b/rpkid/rpki/gui/app/templates/app/roarequest_confirm_form.html
@@ -1,4 +1,5 @@
{% extends "app/app_base.html" %}
+{% load crispy_forms_tags %}
{% block content %}
<div class='page-title'>
@@ -6,12 +7,12 @@
</div>
<div class='row'>
- <div class='span8'>
- <div class='alert-message block-message warning'>
+ <div class='span5'>
+ <div class='alert alert-block-message alert-warning'>
<p><strong>Please confirm</strong> that you would like to create the following ROA.
The accompanying table indicates how the validation status may change as a result.
- <table class='condensed-table'>
+ <table class='table table-condensed table-striped'>
<tr>
<th>AS</th>
<th>Prefix</th>
@@ -26,19 +27,20 @@
<form method='POST' action='{% url rpki.gui.app.views.roa_create_confirm %}'>
{% csrf_token %}
- {% include "app/bootstrap_form.html" %}
- <div class='alert-actions'>
- <input class='btn primary' type='submit' value='Create'/>
+ {{ form|crispy }}
+
+ <div class='form-actions'>
+ <input class='btn btn-primary' type='submit' value='Create'/>
<a class='btn' href='{% url rpki.gui.app.views.roa_list %}'>Cancel</a>
</div>
</form>
</div><!-- /alert-message -->
</div>
- <div class='span8'>
+ <div class='span5'>
<h2>Matched Routes</h2>
- <table style='zebra-striped condensed-table'>
+ <table style='table table-striped table-condensed'>
<tr>
<th>Prefix</th>
<th>Origin AS</th>
diff --git a/rpkid/rpki/gui/app/templates/app/roarequest_form.html b/rpkid/rpki/gui/app/templates/app/roarequest_form.html
index ca356278..f84b222a 100644
--- a/rpkid/rpki/gui/app/templates/app/roarequest_form.html
+++ b/rpkid/rpki/gui/app/templates/app/roarequest_form.html
@@ -1,5 +1,7 @@
{% extends "app/app_base.html" %}
+{% load crispy_forms_tags %}
+
{% block content %}
<div class='page-title'>
<h1>Create ROA</h1>
@@ -24,21 +26,22 @@
$(document).ready(function(){ $("#id_prefix").change(f) })
</script>
+
<div class='row'>
- <div class='span8'>
+ <div class='span5'>
<form method='POST' action='{{ request.get_full_path }}'>
{% csrf_token %}
- {% include "app/bootstrap_form.html" %}
- <div class='actions'>
- <input class='btn primary' type='submit' value='Create'/>
- <a class='btn' href='{% url rpki.gui.app.views.roa_list %}'>Cancel</a>
+ {{ form|crispy }}
+ <div class="form-actions">
+ <input class="btn" type="submit" value="Preview">
+ <a class="btn" href="{% url rpki.gui.app.views.dashboard %}">Cancel</a>
</div>
</form>
</div>
- <div class='span8'>
+ <div class='span5'>
Routes matching your prefix:
- <table class='condensed-table zebra-striped' id='route_table'>
+ <table class='table table-condensed table-striped' id='route_table'>
<tr><th>Prefix</th><th>AS</th></tr>
<!-- script above populates this table based upon prefix matches -->
</table>
diff --git a/rpkid/rpki/gui/app/templates/app/routes_view.html b/rpkid/rpki/gui/app/templates/app/routes_view.html
index be4f8f6e..8b2a4a18 100644
--- a/rpkid/rpki/gui/app/templates/app/routes_view.html
+++ b/rpkid/rpki/gui/app/templates/app/routes_view.html
@@ -20,7 +20,7 @@ rcynic cache updated<br>
<p>
This view shows currently advertised routes for the prefixes listed in resource certs received from RPKI parents.
-<table class='zebra-striped condensed-table'>
+<table class='table table-striped table-condensed'>
<tr>
<th>Prefix</th>
<th>Origin AS</th>
diff --git a/rpkid/rpki/gui/app/templates/app/update_bpki_form.html b/rpkid/rpki/gui/app/templates/app/update_bpki_form.html
index b232c4e9..68d93da8 100644
--- a/rpkid/rpki/gui/app/templates/app/update_bpki_form.html
+++ b/rpkid/rpki/gui/app/templates/app/update_bpki_form.html
@@ -6,7 +6,7 @@
<form method="POST" action="{{ request.get_full_path }}">
{% csrf_token %}
- <table>
+ <table class="table table-condensed table-striped">
{{ form.as_table }}
</table>
<input type="submit" value="Update">
diff --git a/rpkid/rpki/gui/app/templates/app/user_create_form.html b/rpkid/rpki/gui/app/templates/app/user_create_form.html
deleted file mode 100644
index 1a07402f..00000000
--- a/rpkid/rpki/gui/app/templates/app/user_create_form.html
+++ /dev/null
@@ -1,16 +0,0 @@
-{% extends "app/app_base.html" %}
-
-{% block content %}
-<div class='page-title'>
- <h1>Create User</h1>
-</div>
-
-<form enctype="multipart/form-data" method="POST" action="{{ request.get_full_path }}">
- {% csrf_token %}
- {% include "app/bootstrap_form.html" %}
- <div class='actions'>
- <input class='btn primary' type="submit" value="Create">
- <a class='btn' href="{% url rpki.gui.app.views.child_list %}">Cancel</a>
- </div>
-</form>
-{% endblock %}
diff --git a/rpkid/rpki/gui/app/templates/app/user_edit_form.html b/rpkid/rpki/gui/app/templates/app/user_edit_form.html
deleted file mode 100644
index 59fc01c2..00000000
--- a/rpkid/rpki/gui/app/templates/app/user_edit_form.html
+++ /dev/null
@@ -1,16 +0,0 @@
-{% extends "app/app_base.html" %}
-
-{% block content %}
-<div class='page-title'>
- <h1>Edit User: {{ object.username }}</h1>
-</div>
-
-<form method='POST' action='{{ request.get_full_path }}'>
- {% csrf_token %}
- {% include "app/bootstrap_form.html" %}
- <div class='actions'>
- <input class='btn primary' type='submit' value='Save'>
- <a class='btn' href='{% url rpki.gui.app.views.user_list %}'>Cancel</a>
- </div>
-</form>
-{% endblock content %}
diff --git a/rpkid/rpki/gui/app/templates/app/user_list.html b/rpkid/rpki/gui/app/templates/app/user_list.html
index 804e94f0..607e5a9c 100644
--- a/rpkid/rpki/gui/app/templates/app/user_list.html
+++ b/rpkid/rpki/gui/app/templates/app/user_list.html
@@ -5,7 +5,7 @@
<h1>Users</h1>
</div>
-<table class='zebra-striped'>
+<table class='table table-striped table-condensed'>
<tr>
<th>Username</th>
<th>Email</th>
diff --git a/rpkid/rpki/gui/app/templates/base.html b/rpkid/rpki/gui/app/templates/base.html
index ac8abd17..64a68916 100644
--- a/rpkid/rpki/gui/app/templates/base.html
+++ b/rpkid/rpki/gui/app/templates/base.html
@@ -1,44 +1,47 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
- "http://www.w3.org/TR/html4/strict.dtd">
-<html>
+<!DOCTYPE HTML>
+<html lang="en">
<head>
<meta name='Content-Type' content='text/html; charset=UTF-8'>
<title>{% block title %}RPKI{% endblock %}</title>
{% block head %}{% endblock %}
- <link rel="stylesheet" href="/site_media/css/bootstrap.min.css">
+ <link rel="stylesheet" href="/media/css/bootstrap.min.css" media="screen">
<style type="text/css">
- body { padding-top: 50px; }
- {% block css %}{% endblock %}
+ body { padding: 40px }
</style>
</head>
<body>
- <!-- TOP BAR -->
- <div class="topbar">
- <div class="topbar-inner">
- <div class="container">
- <h3><a href="#">rpki.net</a></h3>
- {% if user.is_authenticated %}
+ <!-- TOP BAR -->
+ <div class="container">
+ <div class="navbar navbar-inverse navbar-fixed-top">
+ <div class="navbar-inner">
+ <a class="brand" href="#">rpki.net</a>
<ul class='nav'>
- <li><p>Logged in as {{ user }}</li>
+ <li class="active">
+ <a href="#">Home</a>
+ </li>
+ <li class="divider-vertical"></li>
+ {% if user.is_authenticated %}
+ <li><p class="navbar-text">Logged in as {{ user }}</li>
+ <li class="divider-vertical"></li>
<li><a href="{% url django.contrib.auth.views.logout %}">Log Out</a></li>
- </ul>
{% endif %}
-
+ </ul>
</div>
</div>
</div><!-- topbar -->
- <!-- MAIN CONTENT -->
<div class="container-fluid">
- <div class='content'>
- {% block content %}{% endblock %}
- </div><!-- /content -->
+ <!-- MAIN CONTENT -->
+ <div class="row-fluid">
+ <div class="span2">
+ {% block sidebar %}{% endblock %}
+ </div>
- <div class="sidebar">
- {% block sidebar %}{% endblock %}
- </div><!-- /sidebar -->
- </div><!-- /container-fluid -->
+ <div class="span10">
+ {% block content %}{% endblock %}
+ </div>
+ </div>
</body>
</html>
diff --git a/rpkid/rpki/gui/app/views.py b/rpkid/rpki/gui/app/views.py
index 7969159c..f2f911da 100644
--- a/rpkid/rpki/gui/app/views.py
+++ b/rpkid/rpki/gui/app/views.py
@@ -26,9 +26,8 @@ import os.path
from tempfile import NamedTemporaryFile
from django.contrib.auth.decorators import login_required
-from django.shortcuts import get_object_or_404, render_to_response
+from django.shortcuts import get_object_or_404, render
from django.utils.http import urlquote
-from django.template import RequestContext
from django import http
from django.views.generic.list_detail import object_list, object_detail
from django.core.urlresolvers import reverse
@@ -57,17 +56,6 @@ def superuser_required(f):
return _wrapped
-# FIXME This method is included in Django 1.3 and can be removed when Django
-# 1.2 is out of its support window.
-def render(request, template, context):
- """
- https://docs.djangoproject.com/en/1.3/topics/http/shortcuts/#render
-
- """
- return render_to_response(template, context,
- context_instance=RequestContext(request))
-
-
def handle_required(f):
"""Decorator for view functions which require the user to be logged in and
a resource handle selected for the session.
@@ -98,7 +86,7 @@ def handle_required(f):
@handle_required
def generic_import(request, queryset, configure, form_class=None,
- template_name=None, post_import_redirect=None):
+ post_import_redirect=None):
"""
Generic view function for importing XML files used in the setup
process.
@@ -113,11 +101,6 @@ def generic_import(request, queryset, configure, form_class=None,
specifies the form to use for import. If None, uses the generic
forms.ImportForm.
- template_name
- path to the html template to use to render the form. If None, defaults
- to "app/<model>_import_form.html", where <model> is introspected from
- the "queryset" argument.
-
post_import_redirect
if None (default), the user will be redirected to the detail page for
the imported object. Otherwise, the user will be redirected to the
@@ -125,8 +108,6 @@ def generic_import(request, queryset, configure, form_class=None,
"""
conf = request.session['handle']
- if template_name is None:
- template_name = 'app/%s_import_form.html' % queryset.model.__name__.lower()
if form_class is None:
form_class = forms.ImportForm
if request.method == 'POST':
@@ -159,7 +140,10 @@ def generic_import(request, queryset, configure, form_class=None,
else:
form = form_class()
- return render(request, template_name, {'form': form})
+ return render(request, 'app/app_form.html', {
+ 'form': form,
+ 'form_title': 'Import ' + queryset.model._meta.verbose_name,
+ })
@handle_required
@@ -445,8 +429,11 @@ def child_edit(request, pk):
'as_ranges': child.asns.all(),
'address_ranges': child.address_ranges.all()})
- return render(request, 'app/child_form.html',
- {'object': child, 'form': form})
+ return render(request, 'app/app_form.html', {
+ 'object': child,
+ 'form': form,
+ 'form_title': 'Edit Child: ' + child.handle,
+ })
@handle_required
@@ -677,8 +664,11 @@ def _ghostbuster_edit(request, obj=None):
return http.HttpResponseRedirect(obj.get_absolute_url())
else:
form = form_class(conf, instance=obj)
- return render(request, 'app/ghostbuster_form.html',
- {'form': form, 'object': obj})
+ return render(request, 'app/app_form.html', {
+ 'form': form,
+ 'object': obj,
+ 'form_title': 'Edit Ghostbuster Request',
+ })
@handle_required
@@ -990,8 +980,11 @@ def user_edit(request, pk):
return http.HttpResponseRedirect(reverse(user_list))
else:
form = forms.UserEditForm(initial={'email': user.email})
- return render(request, 'app/user_edit_form.html',
- {'object': user, 'form': form})
+ return render(request, 'app/app_form.html', {
+ 'object': user,
+ 'form': form,
+ 'form_title': 'Edit User: ' + user.username,
+ })
@handle_required
@@ -1038,4 +1031,8 @@ def user_create(request):
conf = request.session['handle']
form = forms.UserCreateForm(initial={'parent': conf})
- return render(request, 'app/user_create_form.html', {'form': form})
+ return render(request, 'app/app_form.html', {
+ 'form': form,
+ 'form_title': 'Create User',
+ 'cancel_url': reverse(user_list),
+ })