+class NetworkParameterTypeAdmin(admin.ModelAdmin):
+ exclude = ['enacted']
+ list_display = ("name", )
+
+class RouterAdmin(admin.ModelAdmin):
+ exclude = ['enacted']
+ list_display = ("name", )
+
+class RouterInline(admin.TabularInline):
+ # exclude = ['enacted']
+ model = Router.networks.through
+ extra = 0
+ verbose_name_plural = "Routers"
+ verbose_name = "Router"
+
+class NetworkParameterInline(generic.GenericTabularInline):
+ exclude = ['enacted']
+ model = NetworkParameter
+ extra = 1
+ verbose_name_plural = "Parameters"
+ verbose_name = "Parameter"
+
+class NetworkSliversInline(admin.TabularInline):
+ exclude = ['enacted']
+ readonly_fields = ("ip", )
+ model = NetworkSliver
+ extra = 0
+ verbose_name_plural = "Slivers"
+ verbose_name = "Sliver"
+
+class NetworkSlicesInline(admin.TabularInline):
+ exclude = ['enacted']
+ model = NetworkSlice
+ extra = 0
+ verbose_name_plural = "Slices"
+ verbose_name = "Slice"
+
+class NetworkAdmin(admin.ModelAdmin):
+ exclude = ['enacted']
+ list_display = ("name", "subnet", "ports", "labels")
+ readonly_fields = ("subnet", )
+ inlines = [NetworkParameterInline, NetworkSliversInline, NetworkSlicesInline, RouterInline]
+
+class NetworkTemplateAdmin(admin.ModelAdmin):
+ exclude = ['enacted']
+ list_display = ("name", "guaranteedBandwidth", "visibility")
+