X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fcore%2Fadmin.py;h=134b6884a722c8e7cb0aa6ae2746dffd18159da9;hb=1e88946bc9fa4ff8b921143c354a901d686cd5a6;hp=c9bba2c10b0ab451df6d78c1ddbc48e4cba302ca;hpb=732913407cc255ab864e39522585e1b98e654af1;p=plstackapi.git diff --git a/planetstack/core/admin.py b/planetstack/core/admin.py index c9bba2c..134b688 100644 --- a/planetstack/core/admin.py +++ b/planetstack/core/admin.py @@ -41,16 +41,13 @@ class SiteInline(admin.TabularInline): 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 @@ -59,6 +56,14 @@ class NodeInline(admin.TabularInline): 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' @@ -124,7 +129,7 @@ class DeploymentNetworkAdminForm(forms.ModelForm): 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): @@ -146,7 +151,7 @@ class SiteAdmin(OSModelAdmin): ] 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): @@ -222,7 +227,7 @@ class KeyAdmin(OSModelAdmin): 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. @@ -332,7 +337,8 @@ class SliverAdmin(PlanetStackBaseAdmin): #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 @@ -416,21 +422,33 @@ class UserAdmin(UserAdmin, OSModelAdmin): # 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'], @@ -445,14 +463,16 @@ admin.site.register(User, UserAdmin) 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)