aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates/base/config_bundle
diff options
context:
space:
mode:
authorParker Berberian <pberberian@iol.unh.edu>2020-01-30 13:33:35 -0500
committerParker Berberian <pberberian@iol.unh.edu>2020-01-30 16:12:18 -0500
commit078273eb7db5a481a4131d44a943f3c9e34b6b88 (patch)
tree9e6e569e18712d77b8a65c6ebf4dda50ade1b55a /src/templates/base/config_bundle
parent899e1a4baa95d0bc6f0eef34de66f0e257174878 (diff)
Adds Template Overrides
Changes the structure of the template directories to allow a new project to define their own set of override templates that inherit from a common base. I have slightly modified landing.html here as an example. In comming changes we will try to move all the "laas" specific content into the laas directory Change-Id: I46151be182de901f870debb247b305ea34ae77ba Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
Diffstat (limited to 'src/templates/base/config_bundle')
-rw-r--r--src/templates/base/config_bundle/steps/assign_host_roles.html22
-rw-r--r--src/templates/base/config_bundle/steps/assign_network_roles.html22
-rw-r--r--src/templates/base/config_bundle/steps/config_software.html15
-rw-r--r--src/templates/base/config_bundle/steps/define_software.html45
-rw-r--r--src/templates/base/config_bundle/steps/pick_installer.html22
-rw-r--r--src/templates/base/config_bundle/steps/table_formset.html53
6 files changed, 179 insertions, 0 deletions
diff --git a/src/templates/base/config_bundle/steps/assign_host_roles.html b/src/templates/base/config_bundle/steps/assign_host_roles.html
new file mode 100644
index 0000000..b87a17f
--- /dev/null
+++ b/src/templates/base/config_bundle/steps/assign_host_roles.html
@@ -0,0 +1,22 @@
+{% extends "config_bundle/steps/table_formset.html" %}
+
+{% load bootstrap4 %}
+
+{% block table %}
+<thead>
+ <tr>
+ <th>Host</th>
+ <th>Role</th>
+ </tr>
+</thead>
+<tbody>
+ {% for form in formset %}
+ <tr>
+ <td>{% bootstrap_field form.host_name show_label=False %}</td>
+ <td>{% bootstrap_field form.role show_label=False %}</td>
+ </tr>
+ {% endfor %}
+</tbody>
+
+{{formset.management_form}}
+{% endblock table %}
diff --git a/src/templates/base/config_bundle/steps/assign_network_roles.html b/src/templates/base/config_bundle/steps/assign_network_roles.html
new file mode 100644
index 0000000..aa1df44
--- /dev/null
+++ b/src/templates/base/config_bundle/steps/assign_network_roles.html
@@ -0,0 +1,22 @@
+{% extends "config_bundle/steps/table_formset.html" %}
+
+{% load bootstrap4 %}
+
+{% block table %}
+<thead>
+ <tr>
+ <th>Role</th>
+ <th>Network</th>
+ </tr>
+</thead>
+<tbody>
+ {% for form in formset %}
+ <tr>
+ <td>{% bootstrap_field form.role show_label=False %}</td>
+ <td>{% bootstrap_field form.network show_label=False %}</td>
+ </tr>
+ {% endfor %}
+</tbody>
+
+{{formset.management_form}}
+{% endblock table %}
diff --git a/src/templates/base/config_bundle/steps/config_software.html b/src/templates/base/config_bundle/steps/config_software.html
new file mode 100644
index 0000000..7e8b25d
--- /dev/null
+++ b/src/templates/base/config_bundle/steps/config_software.html
@@ -0,0 +1,15 @@
+{% extends "workflow/viewport-element.html" %}
+{% load staticfiles %}
+
+{% load bootstrap4 %}
+
+{% block content %}
+
+<form method="POST" id="step_form" class="form">
+ {% csrf_token %}
+ {% bootstrap_field form.name %}
+ {% bootstrap_field form.description %}
+</form>
+
+
+{% endblock content %}
diff --git a/src/templates/base/config_bundle/steps/define_software.html b/src/templates/base/config_bundle/steps/define_software.html
new file mode 100644
index 0000000..43f3f5d
--- /dev/null
+++ b/src/templates/base/config_bundle/steps/define_software.html
@@ -0,0 +1,45 @@
+{% extends "config_bundle/steps/table_formset.html" %}
+
+{% load bootstrap4 %}
+
+{% block table %}
+ <thead>
+ <tr>
+ <th>Device</th>
+ <th>Image</th>
+ <th>HeadNode</th>
+ </tr>
+ </thead>
+ <tbody>
+{% for form in formset %}
+ <tr>
+ <td>{% bootstrap_field form.host_name show_label=False %}</td>
+ <td>{% bootstrap_field form.image show_label=False %}</td>
+ <td class="table_hidden_input_parent">
+ <input id="radio_{{forloop.counter}}" class="my_radio" type="radio" name="headnode" value="{{forloop.counter}}">
+ {{ form.headnode }}
+ </td>
+ </tr>
+{% endfor %}
+{{formset.management_form}}
+
+{% endblock table %}
+
+{% block tablejs %}
+<script>
+ document.getElementById("radio_{{headnode}}").checked = true;
+
+ function radio_pre_submit(){
+ var parents = document.getElementsByClassName("table_hidden_input_parent");
+ for(const node of parents){
+ const radio = node.getElementsByClassName("my_radio")[0];
+ const checkbox = radio.nextElementSibling;
+ if(radio.checked){
+ checkbox.value = "True";
+ }
+ }
+ }
+
+ form_submission_callbacks.push(radio_pre_submit);
+</script>
+{% endblock tablejs %}
diff --git a/src/templates/base/config_bundle/steps/pick_installer.html b/src/templates/base/config_bundle/steps/pick_installer.html
new file mode 100644
index 0000000..c3b505d
--- /dev/null
+++ b/src/templates/base/config_bundle/steps/pick_installer.html
@@ -0,0 +1,22 @@
+{% extends "workflow/viewport-element.html" %}
+{% load staticfiles %}
+
+{% load bootstrap4 %}
+
+{% block content %}
+
+{% if unavailable %}
+<h1>Please choose a config bundle first</h1>
+{% else %}
+
+<form id="step_form" method="POST" class="form">
+ {% csrf_token %}
+ <p>Choose your installer:</p>
+ {% bootstrap_field form.installer %}
+ <p>Choose your scenario:</p>
+ {% bootstrap_field form.scenario %}
+</form>
+
+{% endif %}
+
+{% endblock content %}
diff --git a/src/templates/base/config_bundle/steps/table_formset.html b/src/templates/base/config_bundle/steps/table_formset.html
new file mode 100644
index 0000000..d25621e
--- /dev/null
+++ b/src/templates/base/config_bundle/steps/table_formset.html
@@ -0,0 +1,53 @@
+{% extends "workflow/viewport-element.html" %}
+{% load staticfiles %}
+
+{% load bootstrap4 %}
+
+{% block extrahead %}
+ <!-- DataTables CSS -->
+ <link href="{% static "bower_components/datatables.net-bs4/css/dataTables.bootstrap4.min.css" %}"
+ rel="stylesheet">
+
+ <!-- DataTables Responsive CSS -->
+ <link href="{% static "bower_components/datatables.net-responsive-bs4/css/responsive.bootstrap4.min.css" %}"
+ rel="stylesheet">
+{% endblock extrahead %}
+
+{% block content %}
+{% if error %}
+ <h1 class="text-center">{{ error }}</h1>
+{% else %}
+<div class="p-2">
+ <form method="post" class="form" id="step_form"> <!-- formset, requires special consideration -->
+ {% csrf_token %}
+
+ <div class="row">
+ <div class="col-lg-12">
+ <div class="dataTables_wrapper">
+ <table class="table table-striped table-bordered table-hover" id="table" cellspacing="0" width="100%">
+
+ {% block table %}
+ {% endblock table %}
+
+ </table>
+ </div>
+ </div>
+ </div>
+ </form>
+</div>
+
+{% endif %}
+{% endblock content %}
+
+{% block extrajs %}
+ {{ block.super }}
+ <!-- DataTables JavaScript -->
+
+ <script src={% static "bower_components/datatables.net/js/jquery.dataTables.min.js" %}></script>
+ <script src={% static "bower_components/datatables.net-bs4/js/dataTables.bootstrap4.min.js" %}></script>
+
+ <script src={% static "js/dataTables-sort.js" %}></script>
+
+ {% block tablejs %}
+ {% endblock tablejs %}
+{% endblock extrajs %}