a234a71aeb5cb19914cec0035b1b06253240bff4
[pharos-tools.git] / dashboard / src / templates / workflow / confirm.html
1 {% extends "workflow/viewport-element.html" %}
2 {% load staticfiles %}
3
4 {% load bootstrap3 %}
5
6 {% block content %}
7
8 <style>
9     #form_div {
10         width: 100%;
11         padding: 5%;
12         text-align: center;
13     }
14     #text_display {
15         text-align: left;
16         display: inline-block;
17     }
18     #text_wrapper {
19         text-align: center; /*centers child div*/
20     }
21     p {
22         margin:0;
23         padding:0;
24     }
25 </style>
26
27 <div style="text-align:center;">
28     <h3>Confirm  Session</h3>
29 </div>
30 <div id="vlan_warning"></div>
31 <form id="vlan_form" action="/wf/workflow/" method="post">
32     {% csrf_token %}
33     <input id="vlan_input" name="vlan_input" type="hidden"/>
34 </form>
35 <div id="text_wrapper">
36     <div id="text_display">
37         <pre>{{confirmation_info|escape}}</pre>
38     </div>
39 </div>
40 <div id="form_div">
41 <form id="confirmation_form" action="/wf/workflow/" method="post">
42     {% csrf_token %}
43     <div style="display: none;">
44     {{form|default:"<p> No Form Loaded</p>"}}
45     </div>
46 </form>
47 <div class="cform_buttons">
48     <button id="confirm_button" class="btn btn-success" onclick="formconfirm()">Confirm</button>
49     <button id="cancel_button" class="btn btn-danger" onclick="formcancel()">Cancel</button>
50 </div>
51
52 <div style="display: none;">
53 <form id="manager_delete_form" action="/wf/workflow/finish/" method="post">
54     {% csrf_token %}
55 </form>
56 </div>
57
58 <script>
59     var select = document.getElementById("id_confirm");
60
61     function processResponseText(json)
62     {
63         var dict = JSON.parse(json);
64
65         if( !dict["redir_url"] ) {
66             window.top.refresh_iframe();
67         } else {
68             top.window.location.href = dict["redir_url"];
69         }
70     }
71
72     function delete_manager()
73     {
74         var form = $("#manager_delete_form");
75         var formData = form.serialize();
76         var req = new XMLHttpRequest();
77         req.open("POST", "/wf/workflow/finish/", false);
78         req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
79         req.onerror = function() { alert("problem with cleaning up session"); }
80         req.onreadystatechange = function() { if(req.readyState === 4 ) {
81                 processResponseText(req.responseText);
82                 }}
83         req.send(formData);
84     }
85
86     function submitForm()
87     {
88         var form = $("#confirmation_form");
89         var formData = form.serialize();
90         var req = new XMLHttpRequest();
91         req.open("POST", "/wf/workflow/", false);
92         req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
93         req.onerror = function() { alert("problem submitting confirmation"); }
94         req.onreadystatechange = function() { if(req.readyState === 4 ) { delete_manager(); } }
95         req.send(formData);
96     }
97
98
99     function formconfirm()
100     {
101         select.value = "True";
102         submitForm();
103     }
104     function formcancel()
105     {
106         select.value = "False";
107         submitForm();
108     }
109
110     var confirmed = {{bypassed|default:"false"}};
111     if( confirmed )
112     {
113         delete_manager();
114     }
115 </script>
116 <script>
117
118 function fixVlans() {
119     document.getElementById("vlan_input").value = "True";
120     var form = $("#vlan_form");
121     var formData = form.serialize();
122     var req = new XMLHttpRequest();
123     req.open("POST", "/wf/workflow/", false);
124     req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
125     req.onerror = function() { alert("problem submitting form"); }
126     req.onreadystatechange = function() { //replaces current page with response
127         if(req.readyState === 4 ) {
128             var d = document.getElementById("vlan_warning").innerHTML = "";
129             document.getElementById("confirm_button").disabled = false;
130             document.getElementById("cancel_button").disabled = false;
131         }
132     }
133     req.send(formData);
134 }
135 var problem = {{vlan_warning|default:'false'}};
136 if(problem){
137     var d = document.getElementById("vlan_warning");
138     var h3 = document.createElement("h3");
139     h3.innerHTML = "WARNING: Vlans not available";
140     var h4 = document.createElement("h4");
141     h4.innerHTML = "The vlans you selected are not currently available. Would you like to automatically change them?";
142     var button1 = document.createElement("button");
143     button1.innerHTML = "Correct Vlans For Me";
144     button1.onclick = function() { fixVlans(); }
145
146     var button2 = document.createElement("button");
147     button2.innerHTML = "Cancel. I will change my vlans";
148     button2.onclick = function() { formcancel(); }
149     d.appendChild(h3);
150     d.appendChild(h4);
151     d.appendChild(button1);
152     d.appendChild(button2);
153     document.getElementById("confirm_button").disabled = true;
154     document.getElementById("cancel_button").disabled = true;
155 }
156 </script>
157 </div>
158 {% block element_messages %}
159
160 {% endblock element_messages %}
161 {% endblock content %}
162 {% block onleave %}
163 {% endblock %}