update SitePrivilegeAdmin and SliceMembershipAdmin
diff --git a/plstackapi/core/admin.py b/plstackapi/core/admin.py
index acf4c7d..e722b32 100644
--- a/plstackapi/core/admin.py
+++ b/plstackapi/core/admin.py
@@ -38,6 +38,18 @@
     model = Site
     extra = 0
 
+class SliceInline(admin.TabularInline):
+    model = Slice
+    extra = 0
+
+class UserInline(admin.TabularInline):
+    model = PLUser
+    extra = 0
+
+class RoleInline(admin.TabularInline):
+    model = Role
+    extra = 0 
+
 class NodeInline(admin.TabularInline):
     model = Node
     extra = 0
@@ -101,6 +113,12 @@
     inlines = [NodeInline,]
     search_fields = ['name']
 
+class SitePrivilegeAdmin(OSModelAdmin):
+    fieldsets = [
+        (None, {'fields': ['user', 'site', 'role']})
+    ]
+    list_display = ('user', 'site', 'role')
+
 class KeyAdmin(OSModelAdmin):
     fieldsets = [
         ('Key', {'fields': ['name', 'key', 'type', 'blacklisted', 'user']})
@@ -128,6 +146,13 @@
         # users can only see slices at their site
         return qs.filter(site=request.user.site) 
 
+class SliceMembershipAdmin(OSModelAdmin):
+    fieldsets = [
+        (None, {'fields': ['user', 'slice', 'role']})
+    ]
+    list_display = ('user', 'slice', 'role')
+    inlines = [UserInline, SliceInline, RoleInline]
+
 class SubnetAdmin(OSModelAdmin):
     fields = ['cidr', 'ip_version', 'start', 'end', 'slice']
     list_display = ('slice','cidr', 'start', 'end', 'ip_version')
@@ -261,9 +286,9 @@
 admin.site.unregister(Group)
 
 admin.site.register(Site, SiteAdmin)
-admin.site.register(SitePrivilege)
+admin.site.register(SitePrivilege, SitePrivilegeAdmin)
 admin.site.register(Slice, SliceAdmin)
-admin.site.register(SliceMembership)
+admin.site.register(SliceMembership, SliceMembershipAdmin)
 admin.site.register(Subnet, SubnetAdmin)
 admin.site.register(Image, ImageAdmin)
 admin.site.register(Node, NodeAdmin)