diff options
Diffstat (limited to 'src/templates/base/config_bundle/steps/define_software.html')
-rw-r--r-- | src/templates/base/config_bundle/steps/define_software.html | 45 |
1 files changed, 45 insertions, 0 deletions
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 %} |