replace sliver.numberCores with sliver.Flavor, add flavor filtering by deployment...
[plstackapi.git] / planetstack / templates / admin / core / slice / change_form.html
index e97364b..9fb9758 100644 (file)
@@ -1,5 +1,5 @@
 {% extends 'admin/change_form.html' %}
-{% block extrahead %} 
+{% block extrahead %}
 {{ block.super }} 
 <script>
 deployment_nodes = [
@@ -8,12 +8,18 @@ deployment_nodes = [
 {% endfor %}
 ];
 
+deployment_flavors = [
+{% for dn in deployment_flavors %}
+   [{{ dn.0 }}, {{ dn.1 }} , "{{ dn.2 }}"],
+{% endfor %}
+];
+
 sites = [
 {% for s in sites %}
   [{{ s.0 }}, {{ s.1 }}],
 {% endfor %}
 ];
+
 
 function update_nodes(deployment_select, node_select_id) {
     deployment_id = $(deployment_select).val();
@@ -28,6 +34,32 @@ function update_nodes(deployment_select, node_select_id) {
     $("#"+node_select_id).empty().append(html);
 }
 
+function update_flavors(deployment_select, flavor_select_id) {
+    deployment_id = $(deployment_select).val();
+    html = "<option value=''>---------</option>\n";
+    for (i in deployment_flavors) {
+        dn = deployment_flavors[i];
+        if (dn[0] == deployment_id) {
+            html = html + '<option value="' + dn[1] + '">' + dn[2] + '</option>\n'
+        }
+    }
+    //console.log(html);
+    $("#"+flavor_select_id).empty().append(html);
+}
+
+function sliver_deployment_changed(deployment_select) {
+   /* the inscrutable jquery selector below says:
+      find the closest parent "tr" to the current element
+      then find the child with class "field-node"
+      then find the child with that is a select
+      then return its id
+    */
+    nodes_select_id = $($(deployment_select).closest('tr')[0]).find('.field-node select')[0].id;
+    update_nodes(deployment_select, nodes_select_id);
+    flavors_select_id = $($(deployment_select).closest('tr')[0]).find('.field-flavor select')[0].id;
+    update_flavors(deployment_select, flavors_select_id);
+}
+
 function update_slice_prefix(site_select, slice_name_id) {
     site_id = $(site_select).val();
     slice_prefix="";