diff options
Diffstat (limited to 'src/templates/resource/steps')
-rw-r--r-- | src/templates/resource/steps/define_hardware.html | 24 | ||||
-rw-r--r-- | src/templates/resource/steps/host_info.html | 43 | ||||
-rw-r--r-- | src/templates/resource/steps/meta_info.html | 46 | ||||
-rw-r--r-- | src/templates/resource/steps/pod_definition.html | 140 |
4 files changed, 253 insertions, 0 deletions
diff --git a/src/templates/resource/steps/define_hardware.html b/src/templates/resource/steps/define_hardware.html new file mode 100644 index 0000000..57078e9 --- /dev/null +++ b/src/templates/resource/steps/define_hardware.html @@ -0,0 +1,24 @@ +{% extends "workflow/viewport-element.html" %} +{% load staticfiles %} + +{% load bootstrap4 %} + +{% block content %} +<p>Note that not all labs host every kind of machine. +As you make your selections, labs and hosts that are not compatible +with your current configuration will become unavailable.</p> +<h4>NOTE: Only PTL's are able to create multi-node PODs. See <a href="https://google.com">here</a> + for more details</h4> +<form id="define_hardware_form" action="/wf/workflow/" method="post"> + {% csrf_token %} + {{form.filter_field|default:"<p>No Form</p>"}} +</form> +{% endblock content %} +{% block onleave %} +multi_filter_widget.finish(); +var formData = $("#define_hardware_form").serialize(); +req = new XMLHttpRequest(); +req.open('POST', '/wf/workflow/', false); +req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); +req.send(formData); +{% endblock %} diff --git a/src/templates/resource/steps/host_info.html b/src/templates/resource/steps/host_info.html new file mode 100644 index 0000000..bbbafdc --- /dev/null +++ b/src/templates/resource/steps/host_info.html @@ -0,0 +1,43 @@ +{% extends "workflow/viewport-element.html" %} +{% load staticfiles %} + +{% load bootstrap4 %} + +{% block content %} + +{% if error %} +<p>{{error}}</p> +{% else %} + + +<form id="host_meta_form" method="post" action="/wf/workflow/"> + {% csrf_token %} + <table> + <thead> + <tr> + <th>Type</th> + <th>Name</th> + </tr> + </thead> + <tbody> + {% for form in formset %} + <tr> + {% for field in form %} + <td>{{field}}</td> + {% endfor %} + </tr> + {% endfor %} + </table> + {{formset.management_form}} +</form> +{% endif %} +{% endblock content %} + +{% block onleave %} +var formData = $("#host_meta_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("There was a problem submitting the form"); } +req.send(formData); +{% endblock %} diff --git a/src/templates/resource/steps/meta_info.html b/src/templates/resource/steps/meta_info.html new file mode 100644 index 0000000..cebd343 --- /dev/null +++ b/src/templates/resource/steps/meta_info.html @@ -0,0 +1,46 @@ +{% extends "workflow/viewport-element.html" %} +{% load staticfiles %} + +{% load bootstrap4 %} + +{% block content %} + +<style> +#resource_meta_form { + padding: 80px; + display: grid; +} + +#resource_meta_form td > * { + width: 100%; + margin-bottom: 20px; + margin-top: 20px; +} + +#resource_meta_form > table > tbody > tr { + border-bottom: 1px solid #cccccc; +} + +#resource_meta_form > table > tbody > tr:last-child { + border-bottom: none; +} + +</style> + +<form id="resource_meta_form" method="post" action="/wf/workflow/"> + {% csrf_token %} + <table> + {{form}} + </table> +</form> +{% endblock content %} + +{% block onleave %} +var ajaxForm = $("#resource_meta_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/resource/steps/pod_definition.html b/src/templates/resource/steps/pod_definition.html new file mode 100644 index 0000000..5826ccb --- /dev/null +++ b/src/templates/resource/steps/pod_definition.html @@ -0,0 +1,140 @@ +{% extends "workflow/viewport-element.html" %} +{% block extrahead %} +<link href="/static/css/graph_common.css" rel="stylesheet"> +<title>Pod Definition Prototype</title> + +<!-- Loads and initializes the library --> +<script> + var mxLoadStylesheets = false; +</script> +<script type="text/javascript" src="/static/js/mxClient.min.js" ></script> +<script type="text/javascript" src="/static/js/dashboard.js" ></script> +{% endblock extrahead %} + +<!-- Calls the main function after the page has loaded. Container is dynamically created. --> +{% block content %} + <div id="graphParent" + style="position:absolute;overflow:hidden;top:0px;bottom:0px;width:75%;left:0px;"> + <div id="graphContainer" + style="position:relative;overflow:hidden;top:36px;bottom:0px;left:0px;right:0px;background-image:url('/static/img/mxgraph/grid.gif');cursor:default;"> + </div> + + + <!-- Creates a container for the sidebar --> + <div id="toolbarContainer" + style="position:absolute;white-space:nowrap;overflow:hidden;top:0px;left:0px;right:0px;padding:6px;"> + </div> + + <!-- Creates a container for the outline --> + <div id="outlineContainer" + style="position:absolute;overflow:hidden;top:36px;right:0px;width:200px;height:140px;background:transparent;border-style:solid;border-color:black;"> + </div> + </div> + + <style> + p { + word-break: normal; + white-space: normal; + } + #network_select { + background: inherit; + padding: 0px; + padding-top: 0px; + } + #toolbarContainer { + background: #DDDDDD; + height: 36px; + } + #toolbar_extension { + height: 36px; + background: #DDDDDD; + } + #btn_add_network { + width: 100%; + } + #vlan_notice { + margin: 20px; + } + #network_list li { + border-radius: 2px; + margin: 5px; + padding: 5px; + vertical-align: middle; + background: #DDDDDD; + } + #network_list { + list-style-type: none; + padding: 0; + } + .colorblob { + width: 20px; + height: 20px; + border-radius: 50%; + display: inline-block; + vertical-align: middle; + } + .network_innertext { + display: inline-block; + padding-left: 10px; + vertical-align: middle; + padding-bottom: 0px; + margin-bottom: 2px; + } + .mxWindow { + background: #FFFFFF; + } + </style> + + <div id="network_select" style="position:absolute;top:0px;bottom:0px;width:25%;right:0px;left:auto;"> + <div id="toolbar_extension"> + <button id="btn_add_network" type="button" class="btn btn-primary" onclick="network_step.newNetworkWindow();">Add Network</button> + </div> + <ul id="network_list"> + </ul> + <button type="button" style="display: none" onclick="network_step.submitForm();">Submit</button> + </div> + <form id="xml_form" method="post" action="/wf/workflow/"> + {% csrf_token %} + <input type="hidden" id="hidden_xml_input" name="xml" /> + </form> + +<script> + //gather context data + let debug = false; + {% if debug %} + debug = true; + {% endif %} + + let xml = ''; + {% if xml %} + xml = '{{xml|safe}}'; + {% endif %} + + let hosts = []; + {% for host in hosts %} + hosts.push({{host|safe}}); + {% endfor %} + + let added_hosts = []; + {% for host in added_hosts %} + added_hosts.push({{host|safe}}); + {% endfor %} + + let removed_host_ids = {{removed_hosts|safe}}; + + network_step = new NetworkStep( + debug, + xml, + hosts, + added_hosts, + removed_host_ids, + document.getElementById('graphContainer'), + document.getElementById('outlineContainer'), + document.getElementById('toolbarContainer'), + document.getElementById('sidebarContainer') + ); +</script> +{% endblock content %} +{% block onleave %} +network_step.submitForm(); +{% endblock %} |