diff options
Diffstat (limited to 'src/templates/base/config_bundle')
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 %} |