aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates
diff options
context:
space:
mode:
Diffstat (limited to 'src/templates')
-rw-r--r--src/templates/booking/quick_deploy.html33
-rw-r--r--src/templates/booking/steps/booking_meta.html12
-rw-r--r--src/templates/config_bundle/steps/config_software.html12
-rw-r--r--src/templates/config_bundle/steps/define_software.html9
-rw-r--r--src/templates/config_bundle/steps/pick_installer.html12
-rw-r--r--src/templates/config_bundle/steps/table_formset.html13
-rw-r--r--src/templates/dashboard/multiple_select_filter_widget.html30
-rw-r--r--src/templates/resource/steps/define_hardware.html10
-rw-r--r--src/templates/resource/steps/host_info.html11
-rw-r--r--src/templates/resource/steps/meta_info.html12
-rw-r--r--src/templates/resource/steps/pod_definition.html3
-rw-r--r--src/templates/snapshot_workflow/steps/meta.html12
-rw-r--r--src/templates/snapshot_workflow/steps/select_host.html12
-rw-r--r--src/templates/workflow/viewport-base.html15
-rw-r--r--src/templates/workflow/viewport-element.html8
15 files changed, 48 insertions, 156 deletions
diff --git a/src/templates/booking/quick_deploy.html b/src/templates/booking/quick_deploy.html
index f1ba491..6776980 100644
--- a/src/templates/booking/quick_deploy.html
+++ b/src/templates/booking/quick_deploy.html
@@ -7,13 +7,13 @@
<form id="quick_booking_form" action="/booking/quick/" method="POST" class="form">
{% csrf_token %}
<div class="container-fluid">
- <div class="row">
- <div class="col-12 px-1 my-2">
- <div class="col py-2 rounded border">
- <p>Please select a host type you wish to book. Only available types are shown.</p>
- {% bootstrap_field form.filter_field show_label=False %}
- </div>
+ <div class="row mx-0 px-0">
+ <div class="col-12 mx-0 px-0 mt-2">
+ <p class="my-0">Please select a host type you wish to book. Only available types are shown.</p>
+ {% bootstrap_field form.filter_field show_label=False %}
</div>
+ </div>
+ <div class="row">
<div class="col-12 col-lg-3 px-1 my-2">
<div class="col border rounded py-2 h-100">
{% bootstrap_field form.purpose %}
@@ -55,10 +55,7 @@
<script type="text/javascript">
function submit_form()
{
- //formats data for form submission
- multi_filter_widget.finish();
- // Submit the form manually since confirm button is type="button" now
- // due to the form submitting before the data was even created by finish()
+ run_form_callbacks();
document.getElementById("quick_booking_form").submit();
}
@@ -83,11 +80,8 @@
var sup_installer_dict = {{installer_filter | safe}};
var sup_scenario_dict = {{scenario_filter | safe}};
- function imageHider() {
+ function imageFilter() {
var drop = document.getElementById("id_image");
-
- hide_dropdown("id_image");
-
var lab_pk = get_selected_value("lab");
var host_pk = get_selected_value("host");
@@ -95,21 +89,18 @@
var image_object = sup_image_dict[childNode.value];
if (image_object) //weed out empty option
{
- if (image_object.host_profile == host_pk && image_object.lab == lab_pk) {
- childNode.style.display = "inherit";
- childNode.disabled = false;
- }
+ childNode.disabled = !(image_object.host_profile == host_pk && image_object.lab == lab_pk);
}
}
}
- imageHider();
+ imageFilter();
$('#id_installer').children().hide();
$('#id_scenario').children().hide();
Array.from(document.getElementsByClassName("grid-item-select-btn")).forEach(function (element) {
- element.addEventListener('click', imageHider);
+ element.addEventListener('click', imageFilter);
});
function installerHider() {
@@ -148,4 +139,4 @@
}
}
</script>
-{% endblock %} \ No newline at end of file
+{% endblock %}
diff --git a/src/templates/booking/steps/booking_meta.html b/src/templates/booking/steps/booking_meta.html
index a7bb8b9..f12496e 100644
--- a/src/templates/booking/steps/booking_meta.html
+++ b/src/templates/booking/steps/booking_meta.html
@@ -6,7 +6,7 @@
{% block content %}
{% bootstrap_form_errors form type='non_fields' %}
-<form id="booking_meta_form" action="/wf/workflow/" method="POST" class="form">
+<form id="step_form" method="POST" class="form">
{% csrf_token %}
<div id="form_div" class="container-fluid">
<div class="row">
@@ -36,13 +36,3 @@
</div>
</form>
{% endblock content %}
-
-{% block onleave %}
-var ajaxForm = $("#booking_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/config_bundle/steps/config_software.html b/src/templates/config_bundle/steps/config_software.html
index 68417bc..6fe0ac1 100644
--- a/src/templates/config_bundle/steps/config_software.html
+++ b/src/templates/config_bundle/steps/config_software.html
@@ -5,7 +5,7 @@
{% block content %}
-<form action="/wf/workflow/" method="POST" id="software_config_form" class="form">
+<form method="POST" id="step_form" class="form">
{% csrf_token %}
<p>Give it a name:</p>
{% bootstrap_field form.name %}
@@ -16,13 +16,3 @@
{% 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
index 87e5997..7c47569 100644
--- a/src/templates/config_bundle/steps/define_software.html
+++ b/src/templates/config_bundle/steps/define_software.html
@@ -44,12 +44,3 @@ for(var i=0; i<parents.length; i++){
checkbox.value = "True";
}
}
-
-var form = $("#table_formset");
-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 onleave %}
diff --git a/src/templates/config_bundle/steps/pick_installer.html b/src/templates/config_bundle/steps/pick_installer.html
index 31a06de..c3b505d 100644
--- a/src/templates/config_bundle/steps/pick_installer.html
+++ b/src/templates/config_bundle/steps/pick_installer.html
@@ -9,7 +9,7 @@
<h1>Please choose a config bundle first</h1>
{% else %}
-<form id="installer_form" action="/wf/workflow/" method="POST" id="installer_config_form" class="form">
+<form id="step_form" method="POST" class="form">
{% csrf_token %}
<p>Choose your installer:</p>
{% bootstrap_field form.installer %}
@@ -20,13 +20,3 @@
{% endif %}
{% endblock content %}
-
-{% block onleave %}
-var form = $("#installer_form");
-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 %}
diff --git a/src/templates/config_bundle/steps/table_formset.html b/src/templates/config_bundle/steps/table_formset.html
index e19f3df..d25621e 100644
--- a/src/templates/config_bundle/steps/table_formset.html
+++ b/src/templates/config_bundle/steps/table_formset.html
@@ -18,7 +18,7 @@
<h1 class="text-center">{{ error }}</h1>
{% else %}
<div class="p-2">
- <form method="post" action="" class="form" id="table_formset">
+ <form method="post" class="form" id="step_form"> <!-- formset, requires special consideration -->
{% csrf_token %}
<div class="row">
@@ -51,14 +51,3 @@
{% block tablejs %}
{% endblock tablejs %}
{% endblock extrajs %}
-
-
-{% block onleave %}
-var form = $("#table_formset");
-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 %}
diff --git a/src/templates/dashboard/multiple_select_filter_widget.html b/src/templates/dashboard/multiple_select_filter_widget.html
index 7fb8bcf..4068919 100644
--- a/src/templates/dashboard/multiple_select_filter_widget.html
+++ b/src/templates/dashboard/multiple_select_filter_widget.html
@@ -2,17 +2,17 @@
</script>
<input name="filter_field" id="filter_field" type="hidden"/>
-<div id="grid_wrapper" class="container-fluid p-4">
- <div class="row">
- {% for object_class, object_list in display_objects %}
- <div class="col-12 col-lg d-flex flex-column pt-2 my-2">
+<div class="row">
+ {% for object_class, object_list in display_objects %}
+ <div class="col-12 col-lg-6 d-flex flex-column pt-2 mx-0 px-1">
+ <div class="col mx-0 border rounded py-2 flex-grow-1 d-flex flex-column">
<div class="w-100">
<h4 class="text-capitalize">{{object_class}}</h4>
</div>
- <div id="{{object_class}}" class="row h-100">
+ <div id="{{object_class}}" class="row flex-grow-1">
{% for obj in object_list %}
- <div class="col-12 col-md-6 col-xl-4 my-2">
- <div id="{{ obj.id|default:'not_provided' }}" class="card h-100" onclick="multi_filter_widget.processClick('{{obj.id}}');">
+ <div class="col-12 col-md-6 col-xl-4 my-2 d-flex flex-grow-1">
+ <div id="{{ obj.id|default:'not_provided' }}" class="card flex-grow-1">
<div class="card-header">
<p class="h5 font-weight-bold mt-2">{{obj.name}}</p>
</div>
@@ -20,15 +20,22 @@
<p class="grid-item-description">{{obj.description}}</p>
</div>
<div class="card-footer">
- <button type="button" class="btn btn-success grid-item-select-btn w-100">{% if obj.multiple %}Add{% else %}Select{% endif %}</button>
+ <button type="button" class="btn btn-success grid-item-select-btn w-100 stretched-link"
+ onclick="multi_filter_widget.processClick('{{obj.id}}');">
+ {% if obj.multiple %}
+ Add
+ {% else %}
+ Select
+ {% endif %}
+ </button>
</div>
</div>
</div>
{% endfor %}
</div>
</div>
- {% endfor %}
- </div>
+ </div>
+ {% endfor %}
</div>
<div id="dropdown_wrapper" class="px-3 list-group-flush w-25 mt-2">
@@ -39,8 +46,9 @@ function multipleSelectFilterWidgetEntry() {
const filter_items = {{ filter_items|safe }};
const initial_value = {{ initial_value|default_if_none:"{}"|safe }};
- //global variable
+ //global variables
multi_filter_widget = new MultipleSelectFilterWidget(graph_neighbors, filter_items, initial_value);
+ form_submission_callbacks.push(() => multi_filter_widget.finish());
}
multipleSelectFilterWidgetEntry();
diff --git a/src/templates/resource/steps/define_hardware.html b/src/templates/resource/steps/define_hardware.html
index 57078e9..2cb37da 100644
--- a/src/templates/resource/steps/define_hardware.html
+++ b/src/templates/resource/steps/define_hardware.html
@@ -9,16 +9,8 @@ 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">
+<form id="step_form" method="post" class="px-3">
{% 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
index bbbafdc..3230d8f 100644
--- a/src/templates/resource/steps/host_info.html
+++ b/src/templates/resource/steps/host_info.html
@@ -10,7 +10,7 @@
{% else %}
-<form id="host_meta_form" method="post" action="/wf/workflow/">
+<form id="step_form" method="post">
{% csrf_token %}
<table>
<thead>
@@ -32,12 +32,3 @@
</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
index 62230dc..b6a17a9 100644
--- a/src/templates/resource/steps/meta_info.html
+++ b/src/templates/resource/steps/meta_info.html
@@ -5,20 +5,10 @@
{% block content %}
-<form id="resource_meta_form" method="post" action="/wf/workflow/">
+<form id="step_form" method="post">
{% csrf_token %}
<table class="px-4">
{% bootstrap_form form field_class="px-4" label_class="px-4 mt-2" %}
</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
index 4c9aa83..4392dbd 100644
--- a/src/templates/resource/steps/pod_definition.html
+++ b/src/templates/resource/steps/pod_definition.html
@@ -37,7 +37,7 @@
<button type="button" class="d-none" onclick="network_step.submitForm();">Submit</button>
</div>
</div>
- <form id="xml_form" method="post" action="/wf/workflow/">
+ <form id="step_form" method="post">
{% csrf_token %}
<input type="hidden" id="hidden_xml_input" name="xml" />
</form>
@@ -77,6 +77,7 @@
document.getElementById('toolbarContainer'),
document.getElementById('sidebarContainer')
);
+ form_submission_callbacks.push(() => network_step.prepareForm());
</script>
{% endblock content %}
{% block onleave %}
diff --git a/src/templates/snapshot_workflow/steps/meta.html b/src/templates/snapshot_workflow/steps/meta.html
index 7c3e98b..88136d2 100644
--- a/src/templates/snapshot_workflow/steps/meta.html
+++ b/src/templates/snapshot_workflow/steps/meta.html
@@ -6,7 +6,7 @@
{% block content %}
{% bootstrap_form_errors form type='non_fields' %}
<div class="p-4">
- <form id="meta_form" action="/wf/workflow/" method="POST" class="form">
+ <form id="step_form" method="POST" class="form">
{% csrf_token %}
<div class="form-group">
{% bootstrap_field form.name %}
@@ -15,13 +15,3 @@
</form>
</div>
{% endblock content %}
-
-{% block onleave %}
-var ajaxForm = $("#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/snapshot_workflow/steps/select_host.html b/src/templates/snapshot_workflow/steps/select_host.html
index a0af67b..4243145 100644
--- a/src/templates/snapshot_workflow/steps/select_host.html
+++ b/src/templates/snapshot_workflow/steps/select_host.html
@@ -6,7 +6,7 @@
{% block content %}
{% bootstrap_form_errors form type='non_fields' %}
-<form id="host_select_form" action="/wf/workflow/" method="POST" class="form">
+<form id="step_form" method="POST" class="form">
{% csrf_token %}
<input type="hidden" id="hidden_json_input", name="host"/>
</form>
@@ -81,13 +81,3 @@ if(initial){
}
</script>
{% endblock content %}
-
-{% block onleave %}
-var ajaxForm = $("#host_select_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/workflow/viewport-base.html b/src/templates/workflow/viewport-base.html
index ed367c7..103a095 100644
--- a/src/templates/workflow/viewport-base.html
+++ b/src/templates/workflow/viewport-base.html
@@ -11,7 +11,7 @@
<nav>
<ul class="pagination d-flex flex-row" id="topPagination">
<li class="page-item flex-shrink-1 page-control">
- <a class="page-link" href="#" id="gob" onclick="go('prev')">
+ <a class="page-link" href="#" id="gob" onclick="submit_and_go('prev')">
<i class="fas fa-backward"></i> Back
</a>
</li>
@@ -41,7 +41,7 @@
</a>
</li>
<li class="page-item flex-shrink-1 page-control">
- <a class="page-link text-right" href="#" id="gof" onclick="go('next')">
+ <a class="page-link text-right" href="#" id="gof" onclick="submit_and_go('next')">
Next <i class="fas fa-forward"></i>
</a>
</li>
@@ -91,11 +91,9 @@
update_context();
var step = 0;
var page_count = 0;
- var context_data = false;
- function go(to) {
- step_on_leave();
- request_leave(to);
+ function submit_and_go(to) {
+ submitStepForm(to);
}
function request_leave(to) {
@@ -165,8 +163,7 @@
});
}
- function update_page(data) {
- context_data = data;
+ function updateBreadcrumbs(data) {
update_breadcrumbs(data);
if (data["workflow_count"] == 1) {
document.getElementById("cancel_btn").innerText = "Exit Workflow";
@@ -326,4 +323,4 @@
{% csrf_token %}
</form>
</div>
-{% endblock content %} \ No newline at end of file
+{% endblock content %}
diff --git a/src/templates/workflow/viewport-element.html b/src/templates/workflow/viewport-element.html
index 2c917e1..bf13304 100644
--- a/src/templates/workflow/viewport-element.html
+++ b/src/templates/workflow/viewport-element.html
@@ -42,14 +42,6 @@
{% endblock validate_step %}
- <script>
- step_on_leave = function() {
- {% block onleave %}
- alert("override onleave");
- {% endblock %}
- }
- </script>
-
<div class="messages">
{% block element_messages %}
{% bootstrap_messages %}