+ def queryset(self, request):
+ return Reservation.select_by_user(request.user)
+
+class NetworkParameterTypeAdmin(PlanetStackBaseAdmin):
+ list_display = ("backend_status_icon", "name", )
+ list_display_links = ('backend_status_icon', 'name', )
+ user_readonly_fields = ['name']
+ user_readonly_inlines = []
+
+class RouterAdmin(PlanetStackBaseAdmin):
+ list_display = ("backend_status_icon", "name", )
+ list_display_links = ('backend_status_icon', 'name', )
+ user_readonly_fields = ['name']
+ user_readonly_inlines = []
+
+class RouterInline(PlStackTabularInline):
+ model = Router.networks.through
+ extra = 0
+ verbose_name_plural = "Routers"
+ verbose_name = "Router"
+ suit_classes = 'suit-tab suit-tab-routers'
+
+class NetworkParameterInline(PlStackGenericTabularInline):
+ model = NetworkParameter
+ extra = 0
+ verbose_name_plural = "Parameters"
+ verbose_name = "Parameter"
+ suit_classes = 'suit-tab suit-tab-netparams'
+ fields = ['backend_status_icon', 'parameter', 'value']
+ readonly_fields = ('backend_status_icon', )
+
+class NetworkSliversInline(PlStackTabularInline):
+ fields = ['backend_status_icon', 'network','sliver','ip']
+ readonly_fields = ("backend_status_icon", "ip", )
+ model = NetworkSliver
+ selflink_fieldname = "sliver"
+ extra = 0
+ verbose_name_plural = "Slivers"
+ verbose_name = "Sliver"
+ suit_classes = 'suit-tab suit-tab-networkslivers'
+
+class NetworkSlicesInline(PlStackTabularInline):
+ model = NetworkSlice
+ selflink_fieldname = "slice"
+ extra = 0
+ verbose_name_plural = "Slices"
+ verbose_name = "Slice"
+ suit_classes = 'suit-tab suit-tab-networkslices'
+ fields = ['backend_status_icon', 'network','slice']
+ readonly_fields = ('backend_status_icon', )
+
+class NetworkAdmin(PlanetStackBaseAdmin):
+ list_display = ("backend_status_icon", "name", "subnet", "ports", "labels")
+ list_display_links = ('backend_status_icon', 'name', )
+ readonly_fields = ("subnet", )
+
+ inlines = [NetworkParameterInline, NetworkSliversInline, NetworkSlicesInline, RouterInline]
+
+ fieldsets = [
+ (None, {'fields': ['backend_status_text', 'name','template','ports','labels','owner','guaranteedBandwidth', 'permitAllSlices','permittedSlices','network_id','router_id','subnet_id','subnet'], 'classes':['suit-tab suit-tab-general']}),]
+
+ readonly_fields = ('backend_status_text', )
+ user_readonly_fields = ['name','template','ports','labels','owner','guaranteedBandwidth', 'permitAllSlices','permittedSlices','network_id','router_id','subnet_id','subnet']
+
+ suit_form_tabs =(
+ ('general','Network Details'),
+ ('netparams', 'Parameters'),
+ ('networkslivers','Slivers'),
+ ('networkslices','Slices'),
+ ('routers','Routers'),
+ )
+class NetworkTemplateAdmin(PlanetStackBaseAdmin):
+ list_display = ("backend_status_icon", "name", "guaranteedBandwidth", "visibility")
+ list_display_links = ('backend_status_icon', 'name', )
+ user_readonly_fields = ["name", "guaranteedBandwidth", "visibility"]
+ user_readonly_inlines = []
+
+class FlavorAdmin(PlanetStackBaseAdmin):
+ list_display = ("backend_status_icon", "name", "flavor", "order", "default")
+ list_display_links = ("backend_status_icon", "name")
+ user_readonly_fields = ("name", "flavor")
+ fields = ("name", "description", "flavor", "order", "default")
+