class UserInline(admin.TabularInline):
model = User
+ fields = ['email', 'firstname', 'lastname']
extra = 0
class SliceInline(admin.TabularInline):
model = Slice
extra = 0
-class UserInline(admin.TabularInline):
- model = User
- extra = 0
-
class RoleInline(admin.TabularInline):
model = Role
extra = 0
model = Node
extra = 0
+class SitePrivilegeInline(admin.TabularInline):
+ model = SitePrivilege
+ extra = 0
+
+class SliceMembershipInline(admin.TabularInline):
+ model = SliceMembership
+ extra = 0
+
class PlainTextWidget(forms.HiddenInput):
input_type = 'hidden'
class DeploymentNetworkAdmin(PlanetStackBaseAdmin):
form = DeploymentNetworkAdminForm
- inlines = [NodeInline,]
+ inlines = [NodeInline,SliverInline]
def get_formsets(self, request, obj=None):
for inline in self.get_inline_instances(request, obj):
]
list_display = ('name', 'login_base','site_url', 'enabled')
filter_horizontal = ('deployments',)
- inlines = [NodeInline, UserInline]
+ inlines = [NodeInline, UserInline, SitePrivilegeInline]
search_fields = ['name']
def queryset(self, request):
class SliceAdmin(OSModelAdmin):
fields = ['name', 'site', 'serviceClass', 'description', 'slice_url']
list_display = ('name', 'site','serviceClass', 'slice_url')
- inlines = [SliverInline]
+ inlines = [SliverInline, SliceMembershipInline]
def queryset(self, request):
# admins can see all keys. Users can only see slices they belong to.
#self.readonly_fields = ('ip', 'instance_name')
self.readonly_fields = ()
else:
- self.readonly_fields = ('ip', 'instance_name', 'slice', 'image', 'key')
+ self.readonly_fields = ()
+ #self.readonly_fields = ('ip', 'instance_name', 'slice', 'image', 'key')
for inline in self.get_inline_instances(request, obj):
# hide MyInline in the add view
# that reference specific fields on auth.User.
list_display = ('email', 'site', 'firstname', 'lastname', 'is_admin', 'last_login')
list_filter = ('site',)
+ inlines = [SitePrivilegeInline, SliceMembershipInline]
fieldsets = (
- (None, {'fields': ('email', 'password')}),
- ('Personal info', {'fields': ('firstname','lastname','phone', 'is_admin', 'site', 'key')}),
+ (None, {'fields': ('email', 'password', 'site', 'is_admin')}),
+ ('Personal info', {'fields': ('firstname','lastname','phone', 'key')}),
#('Important dates', {'fields': ('last_login',)}),
)
add_fieldsets = (
(None, {
'classes': ('wide',),
- 'fields': ('email', 'firstname', 'lastname', 'phone', 'site', 'is_admin', 'key','password1', 'password2')}
+ 'fields': ('email', 'firstname', 'lastname', 'phone', 'site', 'key','password1', 'password2', 'is_admin')}
),
)
search_fields = ('email',)
ordering = ('email',)
filter_horizontal = ()
+class ServiceResourceInline(admin.TabularInline):
+ model = ServiceResource
+ extra = 0
+
+class ServiceClassAdmin(admin.ModelAdmin):
+ list_display = ('name', 'commitment', 'membershipFee')
+ inlines = [ServiceResourceInline]
+
+class ServiceResourceAdmin(admin.ModelAdmin):
+ list_display = ('serviceClass', 'name', 'cost', 'calendarReservable', 'maxUnitsDeployment', 'maxUnitsNode')
+
# register a signal that caches the user's credentials when they log in
def cache_credentials(sender, user, request, **kwds):
auth = {'username': request.POST['username'],
admin.site.unregister(Group)
admin.site.register(Site, SiteAdmin)
-#admin.site.register(SitePrivilege, SitePrivilegeAdmin)
+admin.site.register(SitePrivilege, SitePrivilegeAdmin)
admin.site.register(Slice, SliceAdmin)
-#admin.site.register(SliceMembership, SliceMembershipAdmin)
-#admin.site.register(Subnet, SubnetAdmin)
+admin.site.register(SliceMembership, SliceMembershipAdmin)
+#admin.site.register(Subnet)
admin.site.register(Image, ImageAdmin)
-#admin.site.register(Node, NodeAdmin)
+admin.site.register(Node, NodeAdmin)
admin.site.register(Sliver, SliverAdmin)
admin.site.register(Key, KeyAdmin)
-#admin.site.register(Role, RoleAdmin)
+admin.site.register(Role, RoleAdmin)
admin.site.register(DeploymentNetwork, DeploymentNetworkAdmin)
+admin.site.register(ServiceClass, ServiceClassAdmin)
+admin.site.register(ServiceResource, ServiceResourceAdmin)