e1f9541c7f23a884c66a968611f736a0b26c6ca5
[laas.git] / src / templates / config_bundle / steps / config_software.html
1 {% extends "workflow/viewport-element.html" %}
2 {% load staticfiles %}
3
4 {% load bootstrap3 %}
5
6 {% block content %}
7
8 <form action="/wf/workflow/" method="POST" id="software_config_form" class="form">
9     {% csrf_token %}
10     <p>Give it a name:</p>
11     {{ form.name }}
12
13     <p>And a description:</p>
14     {{ form.description }}
15     <div id="hidden" style="display:none;">
16         <p>Install OPNFV?</p>
17         {{ form.opnfv }}
18         <p>Choose your:</p>
19         <table>
20             <thead>
21                 <tr>
22                     <th>Installer</th>
23                     <th>Scenario</th>
24                 </tr>
25             </thead>
26             <tbody>
27                 <tr>
28                     <td>{{form.installer}}</td>
29                     <td>{{form.scenario}}</td>
30                 </tr>
31             </tbody>
32         </table>
33     </div>
34
35 </form>
36
37 <script>
38 var supported = {{supported|safe}};
39 var installer_drop = document.getElementById("id_installer");
40 installer_drop.addEventListener("change", filter);
41 var scenario_drop = document.getElementById("id_scenario");
42 var scenario_options = {};
43 for(var i=0; i<scenario_drop.options.length; i++){
44     var option = scenario_drop.options[i];
45     scenario_options[option.text] = option;
46 }
47
48 scenario_drop.disabled=true;
49
50 function filter(){
51     //clear out existing options
52     while(scenario_drop.firstChild){
53         scenario_drop.removeChild(scenario_drop.firstChild)
54     }
55     var installer = installer_drop.options[installer_drop.selectedIndex].text;
56     var options = supported[installer];
57     for(var i=0; i<options.length; i++){
58         scenario_drop.appendChild(scenario_options[options[i]]);
59     }
60     scenario_drop.disabled = false;
61 }
62 </script>
63
64 {% endblock content %}
65
66 {% block onleave %}
67 var ajaxForm = $("#software_config_form");
68 var formData = ajaxForm.serialize();
69 req = new XMLHttpRequest();
70 req.open("POST", "/wf/workflow/", false);
71 req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
72 req.onerror = function() { alert("problem submitting form"); }
73 req.send(formData);
74 {% endblock %}