git://git.onelab.eu
/
plstackapi.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
filter keys user is allowed to see
[plstackapi.git]
/
plstackapi
/
core
/
admin.py
diff --git
a/plstackapi/core/admin.py
b/plstackapi/core/admin.py
index
82cf613
..
be9d76b
100644
(file)
--- 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):
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()
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']
class SliceAdmin(PlanetStackBaseAdmin):
fields = ['name', 'site', 'instantiation', 'description', 'slice_url']