diff options
author | Parker Berberian <pberberian@iol.unh.edu> | 2018-10-10 16:06:47 -0400 |
---|---|---|
committer | Parker Berberian <pberberian@iol.unh.edu> | 2018-10-15 13:16:11 -0400 |
commit | 1f3a770d2547848590f39e9d9b9bdffeb94eec14 (patch) | |
tree | 97222e5facd1a242d951c38482315057b5790d51 /src/templates/config_bundle/steps | |
parent | 6d4019e59eda897384e9c00d1daf8b2ce87d128f (diff) |
Lab as a Service 2.0
See changes here:
https://wiki.opnfv.org/display/INF/Pharos+Laas
Change-Id: I59ada5f98e70a28d7f8c14eab3239597e236ca26
Signed-off-by: Sawyer Bergeron <sbergeron@iol.unh.edu>
Signed-off-by: Parker Berberian <pberberian@iol.unh.edu>
Diffstat (limited to 'src/templates/config_bundle/steps')
-rw-r--r-- | src/templates/config_bundle/steps/config_software.html | 72 | ||||
-rw-r--r-- | src/templates/config_bundle/steps/define_software.html | 102 |
2 files changed, 174 insertions, 0 deletions
diff --git a/src/templates/config_bundle/steps/config_software.html b/src/templates/config_bundle/steps/config_software.html new file mode 100644 index 0000000..ca15c77 --- /dev/null +++ b/src/templates/config_bundle/steps/config_software.html @@ -0,0 +1,72 @@ +{% extends "workflow/viewport-element.html" %} +{% load staticfiles %} + +{% load bootstrap3 %} + +{% block content %} + +<form action="/wf/workflow/" method="POST" id="software_config_form" class="form"> + {% csrf_token %} + <p>Give it a name:</p> + {{ form.name }} + + <p>And a description:</p> + {{ form.description }} + <p>Install OPNFV?</p> + {{ form.opnfv }} + <p>Choose your:</p> + <table> + <thead> + <tr> + <th>Installer</th> + <th>Scenario</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{form.installer}}</td> + <td>{{form.scenario}}</td> + </tr> + </tbody> + </table> + +</form> + +<script> +var supported = {{supported|safe}}; +var installer_drop = document.getElementById("id_installer"); +installer_drop.addEventListener("change", filter); +var scenario_drop = document.getElementById("id_scenario"); +var scenario_options = {}; +for(var i=0; i<scenario_drop.options.length; i++){ + var option = scenario_drop.options[i]; + scenario_options[option.text] = option; +} + +scenario_drop.disabled=true; + +function filter(){ + //clear out existing options + while(scenario_drop.firstChild){ + scenario_drop.removeChild(scenario_drop.firstChild) + } + var installer = installer_drop.options[installer_drop.selectedIndex].text; + var options = supported[installer]; + for(var i=0; i<options.length; i++){ + scenario_drop.appendChild(scenario_options[options[i]]); + } + scenario_drop.disabled = false; +} +</script> + +{% endblock content %} + +{% block onleave %} +var ajaxForm = $("#software_config_form"); +var formData = ajaxForm.serialize(); +req = new XMLHttpRequest(); +req.open("POST", "/wf/workflow/", false); +req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); +req.onerror = function() { alert("problem submitting form"); } +req.send(formData); +{% endblock %} diff --git a/src/templates/config_bundle/steps/define_software.html b/src/templates/config_bundle/steps/define_software.html new file mode 100644 index 0000000..8e7be91 --- /dev/null +++ b/src/templates/config_bundle/steps/define_software.html @@ -0,0 +1,102 @@ +{% extends "workflow/viewport-element.html" %} +{% load staticfiles %} + +{% load bootstrap3 %} + + +{% block extrahead %} + <!-- DataTables CSS --> + <link href="{% static "bower_components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.css" %}" + rel="stylesheet"> + + <!-- DataTables Responsive CSS --> + <link href="{% static "bower_components/datatables-responsive/css/dataTables.responsive.css" %}" rel="stylesheet"> +{% endblock extrahead %} + +{% block content %} +{% if error %} + <h1 style="text-align:center;">{{ error }}</h1> +{% else %} + <form style="width: 90%; margin: 5%;" method="post" action="" class="form" id="softwaredefinitionform"> + {% 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 %} + <thead> + <tr> + <th>Device</th> + <th>Role</th> + <th>Image</th> + </tr> + </thead> + <tbody> + {% for form in formset %} + <tr> + {% for field in form %} + <td>{{ field }}</td> + {% endfor %} + </tr> + {% endfor %} + {{formset.management_form}} + + {% endblock table %} + + </table> + </div> + <!-- /.table-responsive --> + <!-- /.panel-body --> + <!-- /.panel --> + </div> + <!-- /.col-lg-12 --> + </div> + </form> + + <script> +function filter_images(){ + var filter_data = {{filter_data|safe}}; + for(var key in filter_data){ + var dropdown = document.getElementById(key); + var to_remove = filter_data[key]; + for(var i=0; i<to_remove.length; i++){ + for(var j=dropdown.children.length-1; j>=0; j--){ + if(dropdown.children[j].text == to_remove[i]){ + dropdown.removeChild(dropdown.children[j]); + } + } + } + } +} + +filter_images(); + </script> +{% endif %} +{% endblock content %} + +{% block extrajs %} + {{ block.super }} + <!-- DataTables JavaScript --> + + <script src={% static "bower_components/datatables/media/js/jquery.dataTables.min.js" %}></script> + <script src={% static "bower_components/datatables-plugins/integration/bootstrap/3/dataTables.bootstrap.min.js" %}></script> + + <script src={% static "js/dataTables-sort.js" %}></script> + + {% block tablejs %} + {% endblock tablejs %} +{% endblock extrajs %} + + +{% block onleave %} +var form = $("#softwaredefinitionform"); +var formData = form.serialize(); +var req = new XMLHttpRequest(); +req.open("POST", "/wf/workflow/", false); +req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); +req.onerror = function() { alert("problem with form submission"); } +req.send(formData); +{% endblock %} |