exclude enacted field from serviceClass/serviceResource
[plstackapi.git] / planetstack / core / admin.py
index d947c6e..663dd9a 100644 (file)
@@ -15,7 +15,10 @@ from django.contrib.contenttypes import generic
 
 import django_evolution 
 
-class ReadonlyTabularInline(admin.TabularInline):
+class PlStackTabularInline(admin.TabularInline):
+    exclude = ['enacted']
+
+class ReadonlyTabularInline(PlStackTabularInline):
     can_delete = False
     extra = 0
     editable_fields = []
@@ -36,7 +39,7 @@ class TagInline(generic.GenericTabularInline):
     exclude = ['enacted']
     extra = 1
 
-class SliverInline(admin.TabularInline):
+class SliverInline(PlStackTabularInline):
     model = Sliver
     fields = ['ip', 'instance_name', 'slice', 'numberCores', 'image', 'node', 'deploymentNetwork']
     extra = 0
@@ -44,28 +47,28 @@ class SliverInline(admin.TabularInline):
     readonly_fields = ['ip', 'instance_name']
     
 
-class SiteInline(admin.TabularInline):
+class SiteInline(PlStackTabularInline):
     model = Site
     extra = 0
 
-class UserInline(admin.TabularInline):
+class UserInline(PlStackTabularInline):
     model = User
     fields = ['email', 'firstname', 'lastname']
     extra = 0
 
-class SliceInline(admin.TabularInline):
+class SliceInline(PlStackTabularInline):
     model = Slice
     extra = 0
 
-class RoleInline(admin.TabularInline):
+class RoleInline(PlStackTabularInline):
     model = Role
     extra = 0 
 
-class NodeInline(admin.TabularInline):
+class NodeInline(PlStackTabularInline):
     model = Node
     extra = 0
 
-class SitePrivilegeInline(admin.TabularInline):
+class SitePrivilegeInline(PlStackTabularInline):
     model = SitePrivilege
     extra = 0
 
@@ -91,7 +94,7 @@ class SitePrivilegeInline(admin.TabularInline):
                 kwargs['queryset'] = users
         return super(SitePrivilegeInline, self).formfield_for_foreignkey(db_field, request, **kwargs)
 
-class SliceMembershipInline(admin.TabularInline):
+class SliceMembershipInline(PlStackTabularInline):
     model = SliceMembership
     extra = 0
     fields = ('user', 'role')
@@ -118,7 +121,7 @@ class SliceMembershipInline(admin.TabularInline):
 
         return super(SliceMembershipInline, self).formfield_for_foreignkey(db_field, request, **kwargs)
 
-class SliceTagInline(admin.TabularInline):
+class SliceTagInline(PlStackTabularInline):
     model = SliceTag
     extra = 0
 
@@ -132,6 +135,7 @@ class PlainTextWidget(forms.HiddenInput):
 
 class PlanetStackBaseAdmin(admin.ModelAdmin):
     save_on_top = False
+    exclude = ['enacted']
 
 class RoleAdmin(PlanetStackBaseAdmin):
     fieldsets = [
@@ -186,8 +190,7 @@ class DeploymentAdmin(PlanetStackBaseAdmin):
 
 class SiteAdmin(PlanetStackBaseAdmin):
     fieldsets = [
-        (None, {'fields': ['name', 'site_url', 'enabled', 'is_public', 'login_base']}),
-        ('Location', {'fields': ['latitude', 'longitude']}),
+        (None, {'fields': ['name', 'site_url', 'enabled', 'is_public', 'login_base', 'location']}),
         ('Deployment Networks', {'fields': ['deployments']})
     ]
     list_display = ('name', 'login_base','site_url', 'enabled')
@@ -390,6 +393,12 @@ class SliverForm(forms.ModelForm):
             'instance_name': PlainTextWidget(),
         }
 
+class ProjectAdmin(admin.ModelAdmin):
+    exclude = ['enacted']
+
+class TagAdmin(admin.ModelAdmin):
+    exclude = ['enacted']
+
 class SliverAdmin(PlanetStackBaseAdmin):
     form = SliverForm
     fieldsets = [
@@ -540,14 +549,17 @@ class UserAdmin(UserAdmin):
         return super(UserAdmin, self).formfield_for_foreignkey(db_field, request, **kwargs)
 
 class ServiceResourceInline(admin.TabularInline):
+    exclude = ['enacted']
     model = ServiceResource
     extra = 0
 
 class ServiceClassAdmin(admin.ModelAdmin):
+    exclude = ['enacted']
     list_display = ('name', 'commitment', 'membershipFee')
     inlines = [ServiceResourceInline]
 
 class ReservedResourceInline(admin.TabularInline):
+    exclude = ['enacted']
     model = ReservedResource
     extra = 0
 
@@ -616,6 +628,7 @@ class ReservationAddRefreshForm(ReservationAddForm):
         return False
 
 class ReservationAdmin(admin.ModelAdmin):
+    exclude = ['enacted']
     list_display = ('startTime', 'duration')
     inlines = [ReservedResourceInline]
     form = ReservationAddForm
@@ -645,25 +658,25 @@ class ReservationAdmin(admin.ModelAdmin):
         return super(ReservationAdmin, self).changelist_view(request, extra_context)
 
     def get_form(self, request, obj=None, **kwargs):
-        request._obj_ = obj\r
-        if obj is not None:\r
-            # For changes, set request._slice to the slice already set in the\r
-            # object.\r
-            request._slice = obj.slice\r
-            self.form = ReservationChangeForm\r
-        else:\r
-            if getattr(request, "_refresh", False):\r
-                self.form = ReservationAddRefreshForm\r
-            else:\r
-                self.form = ReservationAddForm\r
-        return super(ReservationAdmin, self).get_form(request, obj, **kwargs)\r
-\r
+        request._obj_ = obj
+        if obj is not None:
+            # For changes, set request._slice to the slice already set in the
+            # object.
+            request._slice = obj.slice
+            self.form = ReservationChangeForm
+        else:
+            if getattr(request, "_refresh", False):
+                self.form = ReservationAddRefreshForm
+            else:
+                self.form = ReservationAddForm
+        return super(ReservationAdmin, self).get_form(request, obj, **kwargs)
+
     def get_readonly_fields(self, request, obj=None):
-        if (obj is not None):\r
-            # Prevent slice from being changed after the reservation has been\r
-            # created.\r
-            return ['slice']\r
-        else:\r
+        if (obj is not None):
+            # Prevent slice from being changed after the reservation has been
+            # created.
+            return ['slice']
+        else:
             return []
 
 # register a signal that caches the user's credentials when they log in
@@ -692,15 +705,16 @@ showAll = False
 admin.site.register(Deployment, DeploymentAdmin)
 admin.site.register(Site, SiteAdmin)
 admin.site.register(Slice, SliceAdmin)
+admin.site.register(Project, ProjectAdmin)
+admin.site.register(ServiceClass, ServiceClassAdmin)
+admin.site.register(Reservation, ReservationAdmin)
 
 if showAll:
-    admin.site.register(Tag)
+    admin.site.register(Tag, TagAdmin)
     admin.site.register(Node, NodeAdmin)
     admin.site.register(SliceMembership, SliceMembershipAdmin)
     admin.site.register(SitePrivilege, SitePrivilegeAdmin)
     admin.site.register(Role, RoleAdmin)
     admin.site.register(Sliver, SliverAdmin)
-    admin.site.register(ServiceClass, ServiceClassAdmin)
-    admin.site.register(Reservation, ReservationAdmin)
     admin.site.register(Image, ImageAdmin)