X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=planetstack%2Fcore%2Fadmin.py;h=39520ae0647e008079de6e60a7901eeb33d2f96c;hb=ef9db61058e6c5891721e997614c6c76905c230a;hp=6e9be065059b216978d71e07ebd170ba3ca104c2;hpb=6773d5d2b3489fd12e30500dbe4e4f7388430023;p=plstackapi.git diff --git a/planetstack/core/admin.py b/planetstack/core/admin.py index 6e9be06..39520ae 100644 --- a/planetstack/core/admin.py +++ b/planetstack/core/admin.py @@ -1107,9 +1107,9 @@ class TagAdmin(PlanetStackBaseAdmin): class SliverAdmin(PlanetStackBaseAdmin): form = SliverForm fieldsets = [ - ('Sliver Details', {'fields': ['backend_status_text', 'slice', 'deployment', 'node', 'ip', 'instance_id', 'instance_name', 'flavor', 'image', ], 'classes': ['suit-tab suit-tab-general'], }) + ('Sliver Details', {'fields': ['backend_status_text', 'slice', 'deployment', 'node', 'ip', 'instance_id', 'instance_name', 'flavor', 'image', 'ssh_command'], 'classes': ['suit-tab suit-tab-general'], }) ] - readonly_fields = ('backend_status_text', ) + readonly_fields = ('backend_status_text', 'ssh_command', ) list_display = ['backend_status_icon', 'ip', 'instance_id', 'instance_name', 'slice', 'flavor', 'image', 'node', 'deployment'] list_display_links = ('backend_status_icon', 'ip',) @@ -1119,6 +1119,13 @@ class SliverAdmin(PlanetStackBaseAdmin): user_readonly_fields = ['slice', 'deployment', 'node', 'ip', 'instance_name', 'flavor', 'image'] + def ssh_command(self, obj): + ssh_command = obj.get_ssh_command() + if ssh_command: + return ssh_command + else: + return "(not available)" + def formfield_for_foreignkey(self, db_field, request, **kwargs): if db_field.name == 'slice': kwargs['queryset'] = Slice.select_by_user(request.user) @@ -1134,11 +1141,9 @@ class SliverAdmin(PlanetStackBaseAdmin): def get_formsets(self, request, obj=None): # make some fields read only if we are updating an existing record if obj == None: - #self.readonly_fields = ('ip', 'instance_name') - self.readonly_fields = ('backend_status_text',) + self.readonly_fields = ('backend_status_text', 'ssh_command', ) else: - self.readonly_fields = ('backend_status_text',) - #self.readonly_fields = ('ip', 'instance_name', 'slice', 'image', 'key') + self.readonly_fields = ('backend_status_text', 'ssh_command',) for inline in self.get_inline_instances(request, obj): # hide MyInline in the add view @@ -1296,6 +1301,7 @@ class UserAdmin(PermissionCheckingAdminMixin, UserAdmin): ('Login Details', {'fields': ['backend_status_text', 'email', 'site','password','public_key'], 'classes':['suit-tab suit-tab-general']}), ('Contact Information', {'fields': ('firstname','lastname','phone', 'timezone'), 'classes':['suit-tab suit-tab-contact']}), ) + self.readonly_fields = ('backend_status_text', 'site') return super(UserAdmin, self).get_form(request, obj, **kwargs) class ControllerDashboardViewInline(PlStackTabularInline):