inject node_deployment info into change_form for slice admin
authorScott Baker <smbaker@gmail.com>
Wed, 6 Aug 2014 00:19:24 +0000 (17:19 -0700)
committerScott Baker <smbaker@gmail.com>
Wed, 6 Aug 2014 00:19:24 +0000 (17:19 -0700)
planetstack/core/admin.py
planetstack/templates/admin/core/slice/change_form.html [new file with mode: 0644]

index 8e81b4b..f8e6dac 100644 (file)
@@ -760,6 +760,19 @@ class SliceAdmin(PlanetStackBaseAdmin):
         ('reservations','Reservations'),
     )
 
+    def render_change_form(self, request, context, add=False, change=False, form_url='', obj=None):
+        #deployment_nodes = {}
+        #for node in Node.objects.all():
+        #    deployment_nodes[node.deployment.id] = get(deployment_nodes, node.deployment.id, []).append( (node.id, node.name) )
+
+        deployment_nodes = []
+        for node in Node.objects.all():
+            deployment_nodes.append( (node.deployment.id, node.id, node.name) )
+
+        context["deployment_nodes"] = deployment_nodes
+
+        return super(SliceAdmin, self).render_change_form(request, context, add, change, form_url, obj)
+
     def formfield_for_foreignkey(self, db_field, request, **kwargs):
         if db_field.name == 'site':
             kwargs['queryset'] = Site.select_by_user(request.user)
diff --git a/planetstack/templates/admin/core/slice/change_form.html b/planetstack/templates/admin/core/slice/change_form.html
new file mode 100644 (file)
index 0000000..035b730
--- /dev/null
@@ -0,0 +1,12 @@
+{% extends 'admin/change_form.html' %}
+{% block extrahead %} 
+{{ block.super }} 
+<script>
+deployment_nodes = [
+{% for dn in deployment_nodes %}
+   [{{ dn.0 }}, {{ dn.1 }} , "{{ dn.2 }}"],
+{% endfor %}
+];
+</script>
+{% endblock %}
+