From 5cd13204975f86b9968020e313a356626ab6cd16 Mon Sep 17 00:00:00 2001
From: Tony Mack <tmack@paris.CS.Princeton.EDU>
Date: Wed, 1 May 2013 21:48:38 -0400
Subject: [PATCH] fix add/delete inlines on site and deployemnt network pages

---
 plstackapi/core/admin.py | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/plstackapi/core/admin.py b/plstackapi/core/admin.py
index 39838fa..a814c55 100644
--- a/plstackapi/core/admin.py
+++ b/plstackapi/core/admin.py
@@ -114,6 +114,17 @@ class DeploymentNetworkAdmin(PlanetStackBaseAdmin):
     form = DeploymentNetworkAdminForm
     inlines = [NodeInline,]
 
+    def get_formsets(self, request, obj=None):
+        for inline in self.get_inline_instances(request, obj):
+            # hide MyInline in the add view
+            if obj is None:
+                continue
+            # give inline object access to driver and caller
+            client = OpenStackClient(tenant=request.user.site.login_base, **request.session.get('auth', {}))
+            inline.model.driver = OpenStackDriver(client=client)
+            inline.model.caller = request.user
+            yield inline.get_formset(request, obj)
+
 class SiteAdmin(OSModelAdmin):
     fieldsets = [
         (None, {'fields': ['name', 'site_url', 'enabled', 'is_public', 'login_base']}),
@@ -125,6 +136,17 @@ class SiteAdmin(OSModelAdmin):
     inlines = [NodeInline,]
     search_fields = ['name']
 
+    def get_formsets(self, request, obj=None):
+        for inline in self.get_inline_instances(request, obj):
+            # hide MyInline in the add view
+            if obj is None:
+                continue
+            # give inline object access to driver and caller
+            client = OpenStackClient(tenant=request.user.site.login_base, **request.session.get('auth', {}))
+            inline.model.driver = OpenStackDriver(client=client)
+            inline.model.caller = request.user
+            yield inline.get_formset(request, obj)
+
 class SitePrivilegeAdmin(PlanetStackBaseAdmin):
     fieldsets = [
         (None, {'fields': ['user', 'site', 'role']})
-- 
2.47.0