From 5cd13204975f86b9968020e313a356626ab6cd16 Mon Sep 17 00:00:00 2001 From: Tony Mack 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.43.0