From: Tony Mack Date: Sat, 27 Apr 2013 16:36:19 +0000 (-0400) Subject: filter keys user is allowed to see X-Git-Tag: 1.0~86 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;ds=inline;h=956104dac8f3efbcb30478e58b1fd39da581d4b4;hp=0e723b9354898fa2d6ed2c072ee492183d7fabea;p=plstackapi.git filter keys user is allowed to see --- diff --git a/plstackapi/core/admin.py b/plstackapi/core/admin.py index 82cf613..be9d76b 100644 --- a/plstackapi/core/admin.py +++ b/plstackapi/core/admin.py @@ -101,9 +101,18 @@ class KeyAdmin(admin.ModelAdmin): obj.save() def delete_model(self, request, obj): + # attach the caller's openstack clien connection to the object client = OpenStackClient(tenant=request.user.site.login_base, **request.session.get('auth', {})) obj.driver = OpenStackDriver(client=client) obj.delete() + + def get_queryset(self, request): + # get keys user is allowed to see + qs = super(KeyAdmin, self).get_queryset(request) + if request.user.is_superuser: + return qs + return qs.filter(user=request.user) + class SliceAdmin(PlanetStackBaseAdmin): fields = ['name', 'site', 'instantiation', 'description', 'slice_url']