remove all ROInline objects
diff --git a/planetstack/core/admin.py b/planetstack/core/admin.py
index 3aa33c1..dcee1b7 100644
--- a/planetstack/core/admin.py
+++ b/planetstack/core/admin.py
@@ -150,20 +150,28 @@
     selflink.allow_tags = True
     selflink.short_description = "Details"
 
-class ReadOnlyTabularInline(PlStackTabularInline):
-    can_delete = False
+    def has_add_permission(self, request):
+        return not request.user.isReadOnlyUser()
 
     def get_readonly_fields(self, request, obj=None):
-        return self.fields
+        readonly_fields = list(self.readonly_fields)[:]
+        if request.user.isReadOnlyUser():
+            for field in self.fields:
+                if not field in readonly_fields:
+                    readonly_fields.append(field)
+        return readonly_fields
 
+class PlStackGenericTabularInline(generic.GenericTabularInline):
     def has_add_permission(self, request):
-        return False
+        return not request.user.isReadOnlyUser()
 
-class ReservationROInline(ReadOnlyTabularInline):
-    model = Reservation
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-reservations'
-    fields = ['startTime','slice','duration']
+    def get_readonly_fields(self, request, obj=None):
+        readonly_fields = list(self.readonly_fields)[:]
+        if request.user.isReadOnlyUser():
+            for field in self.fields:
+                if not field in readonly_fields:
+                    readonly_fields.append(field)
+        return readonly_fields
 
 class ReservationInline(PlStackTabularInline):
     model = Reservation
@@ -173,21 +181,7 @@
     def queryset(self, request):
         return Reservation.select_by_user(request.user)
 
-class TagROInline(generic.GenericTabularInline):
-    model = Tag
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-tags'
-    can_delete = False
-    fields = ['service', 'name', 'value']
-
-    def get_readonly_fields(self, request, obj=None):
-        return self.fields
-
-    def has_add_permission(self, request):
-        return False
-
-
-class TagInline(generic.GenericTabularInline):
+class TagInline(PlStackGenericTabularInline):
     model = Tag
     extra = 0
     suit_classes = 'suit-tab suit-tab-tags'
@@ -229,11 +223,6 @@
             NetworkLookerUpper.byNetworkName[network_name] = NetworkLookerUpper(network_name)
         return NetworkLookerUpper.byNetworkName[network_name]
 
-class SliverROInline(ReadOnlyTabularInline):
-    model = Sliver
-    fields = ['ip', 'instance_name', 'slice', 'numberCores', 'deploymentNetwork', 'image', 'node']
-    suit_classes = 'suit-tab suit-tab-slivers'
-
 class SliverInline(PlStackTabularInline):
     model = Sliver
     fields = ['all_ips_string', 'instance_name', 'slice', 'numberCores', 'deploymentNetwork', 'image', 'node']
@@ -294,12 +283,6 @@
         return [(None, {'fields': fields})]
 """
 
-class SiteROInline(ReadOnlyTabularInline):
-    model = Site
-    extra = 0
-    fields = ['name', 'login_base', 'site_url', 'enabled']
-    suit_classes = 'suit-tab suit-tab-sites'
-
 class SiteInline(PlStackTabularInline):
     model = Site
     extra = 0
@@ -308,12 +291,6 @@
     def queryset(self, request):
         return Site.select_by_user(request.user)
 
-class UserROInline(ReadOnlyTabularInline):
-    model = User
-    fields = ['email', 'firstname', 'lastname']
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-users'
-
 class UserInline(PlStackTabularInline):
     model = User
     fields = ['email', 'firstname', 'lastname']
@@ -323,11 +300,6 @@
     def queryset(self, request):
         return User.select_by_user(request.user)
 
-class SliceROInline(ReadOnlyTabularInline):
-    model = Slice
-    suit_classes = 'suit-tab suit-tab-slices'
-    fields = ['name','site', 'serviceClass', 'service']
-
 class SliceInline(PlStackTabularInline):
     model = Slice
     fields = ['name','site', 'serviceClass', 'service']
@@ -337,24 +309,12 @@
     def queryset(self, request):
         return Slice.select_by_user(request.user)
 
-class NodeROInline(ReadOnlyTabularInline):
-    model = Node
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-nodes'
-    fields = ['name','deployment','site']
-
 class NodeInline(PlStackTabularInline):
     model = Node
     extra = 0
     suit_classes = 'suit-tab suit-tab-nodes'
     fields = ['name','deployment','site']
 
-class DeploymentPrivilegeROInline(ReadOnlyTabularInline):
-    model = DeploymentPrivilege
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-deploymentprivileges'
-    fields = ['user','role','deployment']
-
 class DeploymentPrivilegeInline(PlStackTabularInline):
     model = DeploymentPrivilege
     extra = 0
@@ -364,13 +324,6 @@
     def queryset(self, request):
         return DeploymentPrivilege.select_by_user(request.user)
 
-#CLEANUP DOUBLE SitePrivilegeInline
-class SitePrivilegeROInline(ReadOnlyTabularInline):
-    model = SitePrivilege
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-siteprivileges'
-    fields = ['user','site', 'role']
-
 class SitePrivilegeInline(PlStackTabularInline):
     model = SitePrivilege
     extra = 0
@@ -388,13 +341,6 @@
     def queryset(self, request):
         return SitePrivilege.select_by_user(request.user)
 
-class SiteDeploymentROInline(ReadOnlyTabularInline):
-    model = SiteDeployments
-    #model = Site.deployments.through
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-deployments'
-    fields = ['deployment','site']
-
 class SiteDeploymentInline(PlStackTabularInline):
     model = SiteDeployments
     #model = Site.deployments.through
@@ -414,12 +360,6 @@
         return SiteDeployments.select_by_user(request.user)
 
 
-class SlicePrivilegeROInline(ReadOnlyTabularInline):
-    model = SlicePrivilege
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-sliceprivileges'
-    fields = ['user', 'slice', 'role']
-
 class SlicePrivilegeInline(PlStackTabularInline):
     model = SlicePrivilege
     suit_classes = 'suit-tab suit-tab-sliceprivileges'
@@ -437,14 +377,6 @@
     def queryset(self, request):
         return SlicePrivilege.select_by_user(request.user)
 
-class SliceNetworkROInline(ReadOnlyTabularInline):
-    model = Network.slices.through
-    extra = 0
-    verbose_name = "Network Connection"
-    verbose_name_plural = "Network Connections"
-    suit_classes = 'suit-tab suit-tab-slicenetworks'
-    fields = ['network']
-
 class SliceNetworkInline(PlStackTabularInline):
     model = Network.slices.through
     selflink_fieldname = "network"
@@ -454,14 +386,6 @@
     suit_classes = 'suit-tab suit-tab-slicenetworks'
     fields = ['network']
 
-class ImageDeploymentsROInline(ReadOnlyTabularInline):
-    model = ImageDeployments
-    extra = 0
-    verbose_name = "Image Deployments"
-    verbose_name_plural = "Image Deployments"
-    suit_classes = 'suit-tab suit-tab-imagedeployments'
-    fields = ['image', 'deployment', 'glance_image_id']
-
 class ImageDeploymentsInline(PlStackTabularInline):
     model = ImageDeployments
     extra = 0
@@ -602,7 +526,6 @@
     fieldsets = [(None, {'fields': fieldList, 'classes':['suit-tab suit-tab-sites']})]
     inlines = [DeploymentPrivilegeInline,NodeInline,TagInline] # ,ImageDeploymentsInline]
 
-    user_readonly_inlines = [DeploymentPrivilegeROInline,NodeROInline,TagROInline] # ,ImageDeploymentsROInline]
     user_readonly_fields = ['name']
 
     suit_form_tabs =(('sites','Deployment Details'),('nodes','Nodes'),('deploymentprivileges','Privileges'),('tags','Tags')) # ,('imagedeployments','Images'))
@@ -623,12 +546,6 @@
 
         return AdminFormMetaClass
 
-class ServiceAttrAsTabROInline(ReadOnlyTabularInline):
-    model = ServiceAttribute
-    fields = ['name','value']
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-serviceattrs'
-
 class ServiceAttrAsTabInline(PlStackTabularInline):
     model = ServiceAttribute
     fields = ['name','value']
@@ -642,7 +559,6 @@
     inlines = [ServiceAttrAsTabInline,SliceInline]
 
     user_readonly_fields = fieldList
-    user_readonly_inlines = [ServiceAttrAsTabROInline,SliceROInline]
 
     suit_form_tabs =(('general', 'Service Details'),
         ('slices','Slices'),
@@ -666,7 +582,6 @@
     readonly_fields = ['accountLink']
 
     user_readonly_fields = ['name', 'deployments','site_url', 'enabled', 'is_public', 'login_base', 'accountLink']
-    user_readonly_inlines = [SliceROInline,UserROInline,TagROInline, NodeROInline, SitePrivilegeROInline,SiteDeploymentROInline]
 
     list_display = ('name', 'login_base','site_url', 'enabled')
     filter_horizontal = ('deployments',)
@@ -772,7 +687,6 @@
     inlines = [SlicePrivilegeInline,SliverInline, TagInline, ReservationInline,SliceNetworkInline]
 
     user_readonly_fields = fieldList
-    user_readonly_inlines = [SlicePrivilegeROInline,SliverROInline,TagROInline, ReservationROInline, SliceNetworkROInline]
 
     suit_form_tabs =(('general', 'Slice Details'),
         ('slicenetworks','Networks'),
@@ -865,8 +779,7 @@
     inlines = [SliverInline, ImageDeploymentsInline]
 
     user_readonly_fields = ['name', 'disk_format', 'container_format']
-    user_readonly_inlines = [SliverROInline, ImageDeploymentsROInline]
-    
+
 class NodeForm(forms.ModelForm):
     class Meta:
         widgets = {
@@ -921,7 +834,6 @@
     inlines = [TagInline]
 
     user_readonly_fields = ['slice', 'deploymentNetwork', 'node', 'ip', 'instance_name', 'numberCores', 'image']
-    user_readonly_inlines = [TagROInline]
 
     def formfield_for_foreignkey(self, db_field, request, **kwargs):
         if db_field.name == 'slice':
@@ -1018,12 +930,6 @@
     suit_classes = 'suit-tab suit-tab-dashboards'
     fields = ['user', 'dashboardView', 'order']
 
-class UserDashboardViewROInline(ReadOnlyTabularInline):
-    model = UserDashboardView
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-dashboards'
-    fields = ['user', 'dashboardView', 'order']
-
 class UserAdmin(UserAdmin):
     class Meta:
         app_label = "core"
@@ -1059,7 +965,6 @@
     filter_horizontal = ()
 
     user_readonly_fields = fieldListLoginDetails + fieldListContactInfo
-    user_readonly_inlines = [SlicePrivilegeROInline,SitePrivilegeROInline,DeploymentPrivilegeROInline,UserDashboardViewROInline]
 
     suit_form_tabs =(('general','Login Details'),
                      ('contact','Contact Information'),
@@ -1096,8 +1001,10 @@
                 # save the original readonly fields

                 self.readonly_save = self.readonly_fields

                 self.inlines_save = self.inlines
-            self.readonly_fields=self.user_readonly_fields
-            self.inlines = self.user_readonly_inlines
+            if hasattr(self, "user_readonly_fields"):
+                self.readonly_fields=self.user_readonly_fields
+            if hasattr(self, "user_readonly_inlines"):
+                self.inlines = self.user_readonly_inlines
         else:
             if hasattr(self, "readonly_save"):

                 # restore the original readonly fields

@@ -1129,11 +1036,6 @@
 
     suit_form_tabs =(('general','Dashboard View Details'),)
 
-class ServiceResourceROInline(ReadOnlyTabularInline):
-    model = ServiceResource
-    extra = 0
-    fields = ['serviceClass', 'name', 'maxUnitsDeployment', 'maxUnitsNode', 'maxDuration', 'bucketInRate', 'bucketMaxSize', 'cost', 'calendarReservable']
-
 class ServiceResourceInline(PlStackTabularInline):
     model = ServiceResource
     extra = 0
@@ -1145,12 +1047,6 @@
     user_readonly_fields = ['name', 'commitment', 'membershipFee']
     user_readonly_inlines = []
 
-class ReservedResourceROInline(ReadOnlyTabularInline):
-    model = ReservedResource
-    extra = 0
-    fields = ['sliver', 'resource','quantity','reservationSet']
-    suit_classes = 'suit-tab suit-tab-reservedresources'
-
 class ReservedResourceInline(PlStackTabularInline):
     model = ReservedResource
     extra = 0
@@ -1239,7 +1135,6 @@
     suit_form_tabs = (('general','Reservation Details'), ('reservedresources','Reserved Resources'))
 
     inlines = [ReservedResourceInline]
-    user_readonly_inlines = [ReservedResourceROInline]
     user_readonly_fields = fieldList
 
     def add_view(self, request, form_url='', extra_context=None):
@@ -1301,15 +1196,6 @@
     user_readonly_fields = ['name']
     user_readonly_inlines = []
 
-class RouterROInline(ReadOnlyTabularInline):
-    model = Router.networks.through
-    extra = 0
-    verbose_name_plural = "Routers"
-    verbose_name = "Router"
-    suit_classes = 'suit-tab suit-tab-routers'
-
-    fields = ['name', 'owner', 'permittedNetworks', 'networks']
-
 class RouterInline(PlStackTabularInline):
     model = Router.networks.through
     extra = 0
@@ -1317,7 +1203,7 @@
     verbose_name = "Router"
     suit_classes = 'suit-tab suit-tab-routers'
 
-class NetworkParameterROInline(generic.GenericTabularInline):
+class NetworkParameterInline(PlStackGenericTabularInline):
     model = NetworkParameter
     extra = 0
     verbose_name_plural = "Parameters"
@@ -1325,22 +1211,6 @@
     suit_classes = 'suit-tab suit-tab-netparams'
     fields = ['parameter', 'value']
 
-class NetworkParameterInline(generic.GenericTabularInline):
-    model = NetworkParameter
-    extra = 0
-    verbose_name_plural = "Parameters"
-    verbose_name = "Parameter"
-    suit_classes = 'suit-tab suit-tab-netparams'
-    fields = ['parameter', 'value']
-
-class NetworkSliversROInline(ReadOnlyTabularInline):
-    fields = ['network', 'sliver', 'ip']
-    model = NetworkSliver
-    extra = 0
-    verbose_name_plural = "Slivers"
-    verbose_name = "Sliver"
-    suit_classes = 'suit-tab suit-tab-networkslivers'
-
 class NetworkSliversInline(PlStackTabularInline):
     fields = ['network','sliver','ip']
     readonly_fields = ("ip", )
@@ -1351,14 +1221,6 @@
     verbose_name = "Sliver"
     suit_classes = 'suit-tab suit-tab-networkslivers'
 
-class NetworkSlicesROInline(ReadOnlyTabularInline):
-    model = NetworkSlice
-    extra = 0
-    verbose_name_plural = "Slices"
-    verbose_name = "Slice"
-    suit_classes = 'suit-tab suit-tab-networkslices'
-    fields = ['network','slice']
-
 class NetworkSlicesInline(PlStackTabularInline):
     model = NetworkSlice
     selflink_fieldname = "slice"
@@ -1378,7 +1240,6 @@
         (None, {'fields': ['name','template','ports','labels','owner','guaranteedBandwidth', 'permitAllSlices','permittedSlices','network_id','router_id','subnet_id','subnet'], 'classes':['suit-tab suit-tab-general']}),]
 
     user_readonly_fields = ['name','template','ports','labels','owner','guaranteedBandwidth', 'permitAllSlices','permittedSlices','network_id','router_id','subnet_id','subnet']
-    user_readonly_inlines = [NetworkParameterROInline, NetworkSliversROInline, NetworkSlicesROInline, RouterROInline]
 
     suit_form_tabs =(
         ('general','Network Details'),
diff --git a/planetstack/hpc/admin.py b/planetstack/hpc/admin.py
index 2a6d518..9e6c84e 100644
--- a/planetstack/hpc/admin.py
+++ b/planetstack/hpc/admin.py
@@ -10,7 +10,7 @@
 from django.utils import timezone
 from django.contrib.contenttypes import generic
 from suit.widgets import LinkedSelect
-from core.admin import SingletonAdmin,SliceInline,ServiceAttrAsTabInline, SliceROInline,ServiceAttrAsTabROInline, ReadOnlyAwareAdmin, PlStackTabularInline, ReadOnlyTabularInline
+from core.admin import SingletonAdmin,SliceInline,ServiceAttrAsTabInline, ReadOnlyAwareAdmin, PlStackTabularInline
 
 class HpcServiceAdmin(SingletonAdmin):
     model = HpcService
@@ -21,7 +21,6 @@
     inlines = [SliceInline,ServiceAttrAsTabInline]
 
     user_readonly_fields = ["name", "enabled", "versionNumber", "description"]
-    user_readonly_inlines = [SliceROInline, ServiceAttrAsTabROInline]
 
     suit_form_tabs =(('general', 'HPC Service Details'),
         ('slices','Slices'),
@@ -35,13 +34,6 @@
     fields = ('cdn_prefix_id', 'prefix', 'defaultOriginServer', 'enabled')
     readonly_fields = ('cdn_prefix_id',)
 
-class CDNPrefixROInline(ReadOnlyTabularInline):
-    model = CDNPrefix
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-prefixes'
-    fields = ('cdn_prefix_id', 'prefix', 'defaultOriginServer', 'enabled')
-    readonly_fields = ('cdn_prefix_id',)
-
 class ContentProviderInline(PlStackTabularInline):
     model = ContentProvider
     extra = 0
@@ -49,11 +41,6 @@
     fields = ('content_provider_id', 'name', 'enabled')
     readonly_fields = ('content_provider_id',)
 
-class ContentProviderROInline(ReadOnlyTabularInline):
-    model = ContentProvider
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-cps'
-
 class OriginServerAdmin(ReadOnlyAwareAdmin):
     list_display = ('url','protocol','redirects','contentProvider','authenticated','enabled' )
 
@@ -75,7 +62,6 @@
     inlines = [CDNPrefixInline]
 
     user_readonly_fields = ('name','description','enabled','serviceProvider','users')
-    user_readonly_inlines = [CDNPrefixROInline]
 
     suit_form_tabs = (('general','Details'),('prefixes','CDN Prefixes'))
 
@@ -86,7 +72,6 @@
 #, ('Content Providers', {'fields':['contentProviders'],'classes':['suit-tab suit-tab-cps']})]
 
     user_readonly_fields = ('name', 'description', 'enabled')
-    user_readonly_inlines = [ContentProviderROInline]
 
     suit_form_tabs = (('general','Details'),('cps','Content Providers'))
     inlines = [ContentProviderInline]
diff --git a/planetstack/kairos/admin.py b/planetstack/kairos/admin.py
index 1eeb426..eb6583e 100644
--- a/planetstack/kairos/admin.py
+++ b/planetstack/kairos/admin.py
@@ -10,7 +10,7 @@
 from django.utils import timezone
 from django.contrib.contenttypes import generic
 from suit.widgets import LinkedSelect
-from core.admin import SingletonAdmin,SliceInline,ServiceAttrAsTabInline, SliceROInline,ServiceAttrAsTabROInline, ReadOnlyAwareAdmin
+from core.admin import SingletonAdmin,SliceInline,ServiceAttrAsTabInline, ReadOnlyAwareAdmin
 
 class NagiosServiceAdmin(SingletonAdmin):
     model = NagiosService
@@ -20,7 +20,6 @@
     fieldsets = [(None, {'fields': ['name','enabled','versionNumber', 'description'], 'classes':['suit-tab suit-tab-general']})]
     inlines = [SliceInline,ServiceAttrAsTabInline]
 
-    user_readonly_inlines = [SliceROInline, ServiceAttrAsTabROInline]
     suit_form_tabs =(('general', 'Nagios Service Details'),
         ('slices','Slices'),
         ('serviceattrs','Additional Attributes'),
diff --git a/planetstack/nagios/admin.py b/planetstack/nagios/admin.py
index 156e376..b655c47 100644
--- a/planetstack/nagios/admin.py
+++ b/planetstack/nagios/admin.py
@@ -10,7 +10,7 @@
 from django.utils import timezone
 from django.contrib.contenttypes import generic
 from suit.widgets import LinkedSelect
-from core.admin import SingletonAdmin,SliceInline,ServiceAttrAsTabInline, SliceROInline,ServiceAttrAsTabROInline, ReadOnlyAwareAdmin
+from core.admin import SingletonAdmin,SliceInline,ServiceAttrAsTabInline, ReadOnlyAwareAdmin
 
 class KairosDBServiceAdmin(SingletonAdmin):
     model = KairosDBService
@@ -20,7 +20,6 @@
     fieldsets = [(None, {'fields': ['name','enabled','versionNumber', 'description'], 'classes':['suit-tab suit-tab-general']})]
     inlines = [SliceInline,ServiceAttrAsTabInline]
 
-    user_readonly_inlines = [SliceROInline, ServiceAttrAsTabROInline]
     suit_form_tabs =(('general', 'KairosDB Service Details'),
         ('slices','Slices'),
         ('serviceattrs','Additional Attributes'),
diff --git a/planetstack/requestrouter/admin.py b/planetstack/requestrouter/admin.py
index 36e5fc6..74dc1f0 100644
--- a/planetstack/requestrouter/admin.py
+++ b/planetstack/requestrouter/admin.py
@@ -10,7 +10,7 @@
 from django.utils import timezone
 from django.contrib.contenttypes import generic
 from suit.widgets import LinkedSelect
-from core.admin import SingletonAdmin,SliceInline,ServiceAttrAsTabInline, SliceROInline,ServiceAttrAsTabROInline, ReadOnlyAwareAdmin
+from core.admin import SingletonAdmin,SliceInline,ServiceAttrAsTabInline, ReadOnlyAwareAdmin
 
 class RequestRouterServiceAdmin(SingletonAdmin):
     model = RequestRouterService
@@ -21,7 +21,6 @@
     inlines = [SliceInline,ServiceAttrAsTabInline]
 
     user_readonly_fields = ["name", "enabled", "versionNumber", "description", "behindNat", "defaultTTL", "defaultAction", "lastResortAction", "maxAnswers"]
-    user_readonly_inlines = [SliceROInline, ServiceAttrAsTabROInline]
 
     suit_form_tabs =(('general', 'Request Router Service Details'),
         ('slices','Slices'),
diff --git a/planetstack/syndicate_storage/admin.py b/planetstack/syndicate_storage/admin.py
index 418ba2b..e5e365f 100644
--- a/planetstack/syndicate_storage/admin.py
+++ b/planetstack/syndicate_storage/admin.py
@@ -10,7 +10,7 @@
 from django.utils import timezone
 from django.contrib.contenttypes import generic
 from suit.widgets import LinkedSelect
-from core.admin import ReadOnlyTabularInline,ReadOnlyAwareAdmin,SingletonAdmin,SliceInline,ServiceAttrAsTabInline,PlanetStackBaseAdmin, PlStackTabularInline,SliceROInline,ServiceAttrAsTabROInline
+from core.admin import ReadOnlyAwareAdmin,SingletonAdmin,SliceInline,ServiceAttrAsTabInline,PlanetStackBaseAdmin, PlStackTabularInline
 from suit.widgets import LinkedSelect
 from django.core.exceptions import ValidationError, ObjectDoesNotExist
 
@@ -23,7 +23,6 @@
     inlines = [SliceInline,ServiceAttrAsTabInline]
 
     user_readonly_fields = ['name','enabled','versionNumber','description']
-    user_readonly_inlines = [SliceROInline, ServiceAttrAsTabROInline]
 
     suit_form_tabs =(('general', 'Syndicate Storage Details'),
         ('slices','Slices'),
@@ -31,18 +30,6 @@
     )
 
 
-class VolumeAccessRightForUserROInline(ReadOnlyTabularInline):
-    model = VolumeAccessRight
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-volumeAccessRights'
-    fields = ['volume','cap_read_data', 'cap_write_data', 'cap_host_data']
-
-class VolumeAccessRightROInline(ReadOnlyTabularInline):
-    model = VolumeAccessRight
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-volumeAccessRights'
-    fields = ['owner_id','cap_read_data', 'cap_write_data', 'cap_host_data']
-
 class VolumeAccessRightInline(PlStackTabularInline):
     model = VolumeAccessRight
     extra = 0
@@ -113,17 +100,6 @@
     readonly_fields = ['credentials_blob']
  
 
-class VolumeSliceROInline(ReadOnlyTabularInline):
-    model = VolumeSlice
-    extra = 0
-    suit_classes = 'suit-tab suit-tab-volumeSlices'
-    fields = ['volume_id', 'slice_id', 'cap_read_data', 'cap_write_data', 'cap_host_data', 'UG_portnum', 'RG_portnum']
-
-    formset = VolumeSliceFormSet
-
-    readonly_fields = ['credentials_blob']
-    
-
 class VolumeAdmin(ReadOnlyAwareAdmin):
     model = Volume
    
@@ -150,8 +126,6 @@
 
     user_readonly_fields = ['name','owner_id','description','blocksize','private', 'archive', 'cap_read_data', 'cap_write_data', 'cap_host_data']
     
-    user_readonly_inlines = [VolumeAccessRightROInline, VolumeSliceROInline]
-
     suit_form_tabs =(('general', 'Volume Details'),
                      ('volumeSlices', 'Slices'),
                      ('volumeAccessRights', 'Volume Access Rights'))